home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 November: Technology Seed / ADC Seed CD - November 1999.toast / FireWire / FireWire_2.2.2_SDK.sit / FireWire 2.2.2 SDK / Source / AVTransport / FWAVCDriver / FWAVCDriver.c next >
MacBinary  |  1999-09-28  |  98.1 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Tue Sep 28 12:00:00 1999, modified Tue Sep 28 12:00:00 1999, creator 'MPS ', type ASCII, 99673 bytes "FWAVCDriver.c" , at 0x185d9 574 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0d 46 57 41 56 43 44 | 72 69 76 65 72 2e 63 00 |..FWAVCD|river.c.|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 01 85 59 00 | 00 02 3e b4 16 96 80 b4 |......Y.|..>.....|
|00000060| 16 96 80 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 e6 88 00 00 |........|........|
|00000080| 2f 2a 0d 09 46 69 6c 65 | 3a 09 09 46 57 41 56 43 |/*..File|:..FWAVC|
|00000090| 44 72 69 76 65 72 2e 63 | 0d 0d 09 43 6f 6e 74 61 |Driver.c|...Conta|
|000000a0| 69 6e 73 3a 09 44 72 69 | 76 65 72 20 73 6f 66 74 |ins:.Dri|ver soft|
|000000b0| 77 61 72 65 20 66 6f 72 | 20 41 56 43 20 74 72 61 |ware for| AVC tra|
|000000c0| 6e 73 70 6f 72 74 20 63 | 6f 6e 74 72 6f 6c 2e 0d |nsport c|ontrol..|
|000000d0| 0d 09 57 72 69 74 74 65 | 6e 20 62 79 3a 09 45 72 |..Writte|n by:.Er|
|000000e0| 69 6b 20 53 74 61 61 74 | 73 0d 0d 09 43 6f 70 79 |ik Staat|s...Copy|
|000000f0| 72 69 67 68 74 3a 09 a9 | 20 31 39 39 36 2d 31 39 |right:..| 1996-19|
|00000100| 39 37 20 62 79 20 41 70 | 70 6c 65 20 43 6f 6d 70 |97 by Ap|ple Comp|
|00000110| 75 74 65 72 2c 20 49 6e | 63 2e 2c 20 61 6c 6c 20 |uter, In|c., all |
|00000120| 72 69 67 68 74 73 20 72 | 65 73 65 72 76 65 64 2e |rights r|eserved.|
|00000130| 0d 0d 09 43 68 61 6e 67 | 65 20 48 69 73 74 6f 72 |...Chang|e Histor|
|00000140| 79 20 28 6d 6f 73 74 20 | 72 65 63 65 6e 74 20 66 |y (most |recent f|
|00000150| 69 72 73 74 29 3a 0d 0d | 09 20 20 3c 46 57 33 32 |irst):..|. <FW32|
|00000160| 3e 09 20 33 2f 31 38 2f | 39 37 09 45 53 09 09 43 |>. 3/18/|97.ES..C|
|00000170| 68 61 6e 67 65 64 20 64 | 72 69 76 65 72 20 64 65 |hanged d|river de|
|00000180| 73 63 72 69 70 74 69 6f | 6e 20 76 65 72 73 69 6f |scriptio|n versio|
|00000190| 6e 20 74 6f 20 66 69 6e | 61 6c 2e 0d 09 20 20 3c |n to fin|al... <|
|000001a0| 46 57 33 31 3e 09 20 33 | 2f 31 30 2f 39 37 09 45 |FW31>. 3|/10/97.E|
|000001b0| 53 09 09 46 69 78 65 64 | 20 70 72 6f 62 6c 65 6d |S..Fixed| problem|
|000001c0| 20 77 69 74 68 20 69 6e | 73 65 72 74 69 6e 67 20 | with in|serting |
|000001d0| 74 68 65 20 63 6f 72 72 | 65 63 74 20 6e 75 6d 62 |the corr|ect numb|
|000001e0| 65 72 20 6f 66 20 65 6d | 70 74 79 20 70 61 63 6b |er of em|pty pack|
|000001f0| 65 74 73 0d 09 09 09 09 | 09 09 09 09 09 69 6e 20 |ets.....|.....in |
|00000200| 61 20 62 75 66 66 65 72 | 20 67 72 6f 75 70 2e 0d |a buffer| group..|
|00000210| 09 20 20 3c 46 57 33 30 | 3e 09 20 33 2f 31 30 2f |. <FW30|>. 3/10/|
|00000220| 39 37 09 45 53 09 09 52 | 65 6d 6f 76 65 64 20 75 |97.ES..R|emoved u|
|00000230| 73 65 20 6f 66 20 6b 44 | 56 46 72 61 6d 65 52 61 |se of kD|VFrameRa|
|00000240| 74 65 4e 75 6d 65 72 61 | 74 6f 72 2f 44 65 6e 6f |teNumera|tor/Deno|
|00000250| 6d 69 6e 61 74 6f 72 20 | 61 6e 64 20 75 73 65 64 |minator |and used|
|00000260| 0d 09 09 09 09 09 09 09 | 09 09 6b 50 6c 61 79 46 |........|..kPlayF|
|00000270| 72 61 6d 65 52 61 74 65 | 4e 75 6d 65 72 61 74 6f |rameRate|Numerato|
|00000280| 72 2f 44 65 6e 6f 6d 69 | 6e 61 74 6f 72 2e 0d 09 |r/Denomi|nator...|
|00000290| 20 20 3c 46 57 32 39 3e | 09 20 33 2f 31 30 2f 39 | <FW29>|. 3/10/9|
|000002a0| 37 09 45 53 09 09 43 68 | 61 6e 67 65 64 20 74 6f |7.ES..Ch|anged to|
|000002b0| 20 72 65 6d 6f 76 65 20 | 65 6d 70 74 79 20 70 61 | remove |empty pa|
|000002c0| 63 6b 65 74 73 20 74 6f | 20 72 65 73 79 6e 63 68 |ckets to| resynch|
|000002d0| 72 6f 6e 69 7a 65 20 61 | 66 74 65 72 20 6c 6f 73 |ronize a|fter los|
|000002e0| 74 0d 09 09 09 09 09 09 | 09 09 09 63 79 63 6c 65 |t.......|...cycle|
|000002f0| 73 2e 20 43 68 61 6e 67 | 65 64 20 74 6f 20 6c 6f |s. Chang|ed to lo|
|00000300| 6f 70 20 6f 76 65 72 20 | 6f 6e 65 20 66 72 61 6d |op over |one fram|
|00000310| 65 20 6f 6e 20 70 6c 61 | 79 62 61 63 6b 20 69 6e |e on pla|yback in|
|00000320| 73 74 65 61 64 20 6f 66 | 0d 09 09 09 09 09 09 09 |stead of|........|
|00000330| 09 09 74 68 72 65 65 2e | 20 43 68 61 6e 67 65 64 |..three.| Changed|
|00000340| 20 74 6f 20 70 6c 61 79 | 20 61 74 20 61 20 73 65 | to play| at a se|
|00000350| 74 74 61 62 6c 65 20 66 | 72 61 6d 65 20 72 61 74 |ttable f|rame rat|
|00000360| 65 20 28 32 39 2e 39 37 | 20 48 7a 20 69 6e 0d 09 |e (29.97| Hz in..|
|00000370| 09 09 09 09 09 09 09 09 | 68 65 61 64 65 72 29 20 |........|header) |
|00000380| 77 69 74 68 20 73 65 74 | 74 61 62 6c 65 20 62 75 |with set|table bu|
|00000390| 66 66 65 72 20 67 72 6f | 75 70 20 73 69 7a 65 73 |ffer gro|up sizes|
|000003a0| 2e 20 49 6d 70 72 6f 76 | 65 64 20 6d 65 6d 6f 72 |. Improv|ed memor|
|000003b0| 79 0d 09 09 09 09 09 09 | 09 09 09 61 6c 6c 6f 63 |y.......|...alloc|
|000003c0| 61 74 69 6f 6e 20 66 6f | 72 20 70 6c 61 79 62 61 |ation fo|r playba|
|000003d0| 63 6b 2e 0d 09 20 20 3c | 46 57 32 38 3e 09 20 20 |ck... <|FW28>. |
|000003e0| 33 2f 33 2f 39 37 09 45 | 53 09 09 43 68 61 6e 67 |3/3/97.E|S..Chang|
|000003f0| 65 64 20 74 6f 20 75 73 | 65 20 44 43 4c 54 69 6d |ed to us|e DCLTim|
|00000400| 65 53 74 61 6d 70 20 74 | 6f 20 72 65 73 79 6e 63 |eStamp t|o resync|
|00000410| 68 72 6f 6e 69 7a 65 20 | 53 59 54 20 66 69 65 6c |hronize |SYT fiel|
|00000420| 64 20 77 68 65 6e 20 77 | 65 0d 09 09 09 09 09 09 |d when w|e.......|
|00000430| 09 09 09 6d 69 73 73 20 | 63 79 63 6c 65 73 2e 0d |...miss |cycles..|
|00000440| 09 20 20 3c 46 57 32 37 | 3e 09 20 32 2f 31 34 2f |. <FW27|>. 2/14/|
|00000450| 39 37 09 45 53 09 09 41 | 64 64 65 64 20 6b 46 57 |97.ES..A|dded kFW|
|00000460| 44 43 4c 4f 70 44 79 6e | 61 6d 69 63 46 6c 61 67 |DCLOpDyn|amicFlag|
|00000470| 20 74 6f 20 6a 75 6d 70 | 20 6f 70 73 20 77 65 20 | to jump| ops we |
|00000480| 69 6e 74 65 6e 64 20 74 | 6f 20 6d 6f 64 69 66 79 |intend t|o modify|
|00000490| 2e 0d 09 20 20 3c 46 57 | 32 36 3e 09 20 31 2f 31 |... <FW|26>. 1/1|
|000004a0| 36 2f 39 37 09 45 53 09 | 09 41 64 64 65 64 20 75 |6/97.ES.|.Added u|
|000004b0| 73 65 20 6f 66 20 44 43 | 4c 55 70 64 61 74 65 4c |se of DC|LUpdateL|
|000004c0| 69 73 74 20 63 6f 6d 6d | 61 6e 64 73 2e 0d 09 20 |ist comm|ands... |
|000004d0| 20 3c 46 57 32 35 3e 09 | 20 20 31 2f 31 2f 39 37 | <FW25>.| 1/1/97|
|000004e0| 09 45 53 09 09 41 64 64 | 65 64 20 55 70 64 61 74 |.ES..Add|ed Updat|
|000004f0| 65 44 43 4c 4c 69 73 74 | 20 63 6f 6d 6d 61 6e 64 |eDCLList| command|
|00000500| 20 74 6f 20 72 65 63 6f | 72 64 20 44 43 4c 20 70 | to reco|rd DCL p|
|00000510| 72 6f 67 72 61 6d 2e 0d | 09 20 20 3c 46 57 32 34 |rogram..|. <FW24|
|00000520| 3e 09 31 32 2f 32 37 2f | 39 36 09 45 53 09 09 43 |>.12/27/|96.ES..C|
|00000530| 68 61 6e 67 65 64 20 46 | 57 41 56 43 54 65 72 6d |hanged F|WAVCTerm|
|00000540| 69 6e 61 74 65 20 74 6f | 20 63 68 65 63 6b 20 69 |inate to| check i|
|00000550| 66 20 67 70 46 57 41 56 | 43 44 72 69 76 65 72 44 |f gpFWAV|CDriverD|
|00000560| 61 74 61 20 69 73 20 6e | 69 6c 2e 0d 09 20 20 3c |ata is n|il... <|
|00000570| 46 57 32 33 3e 09 31 32 | 2f 32 37 2f 39 36 09 45 |FW23>.12|/27/96.E|
|00000580| 53 09 09 43 68 61 6e 67 | 65 64 20 61 20 62 75 6e |S..Chang|ed a bun|
|00000590| 63 68 20 6f 66 20 22 46 | 57 44 72 69 76 65 72 22 |ch of "F|WDriver"|
|000005a0| 73 20 74 6f 20 22 46 57 | 43 6c 69 65 6e 74 22 73 |s to "FW|Client"s|
|000005b0| 2e 0d 09 20 20 3c 46 57 | 32 32 3e 09 31 32 2f 32 |... <FW|22>.12/2|
|000005c0| 32 2f 39 36 09 45 53 09 | 09 43 68 61 6e 67 65 64 |2/96.ES.|.Changed|
|000005d0| 20 49 73 6f 63 68 50 6f | 72 74 41 63 74 69 6f 6e | IsochPo|rtAction|
|000005e0| 20 74 6f 20 49 73 6f 63 | 68 50 6f 72 74 43 6f 6e | to Isoc|hPortCon|
|000005f0| 74 72 6f 6c 2e 0d 09 20 | 20 3c 46 57 32 31 3e 09 |trol... | <FW21>.|
|00000600| 20 31 32 2f 35 2f 39 36 | 09 45 53 09 09 41 64 64 | 12/5/96|.ES..Add|
|00000610| 65 64 20 61 6e 20 69 66 | 64 65 66 20 74 6f 20 63 |ed an if|def to c|
|00000620| 6f 6e 64 69 74 69 6f 6e | 61 6c 79 20 63 6f 6d 70 |ondition|aly comp|
|00000630| 69 6c 65 20 61 20 64 72 | 69 76 65 72 20 77 69 74 |ile a dr|iver wit|
|00000640| 68 20 74 68 65 20 63 6f | 72 72 65 63 74 0d 09 09 |h the co|rrect...|
|00000650| 09 09 09 09 09 09 09 64 | 72 69 76 65 72 20 6e 61 |.......d|river na|
|00000660| 6d 65 20 6f 72 20 61 20 | 64 72 69 76 65 72 20 77 |me or a |driver w|
|00000670| 69 74 68 20 61 6e 20 61 | 6c 74 65 72 6e 61 74 65 |ith an a|lternate|
|00000680| 20 64 72 69 76 65 72 20 | 6e 61 6d 65 2e 0d 09 20 | driver |name... |
|00000690| 20 3c 46 57 32 30 3e 09 | 31 30 2f 32 32 2f 39 36 | <FW20>.|10/22/96|
|000006a0| 09 45 53 09 09 43 68 61 | 6e 67 65 64 20 74 6f 20 |.ES..Cha|nged to |
|000006b0| 67 65 6e 65 72 69 63 20 | 64 72 69 76 65 72 20 6d |generic |driver m|
|000006c0| 6f 64 65 6c 2e 0d 09 20 | 20 3c 46 57 31 39 3e 09 |odel... | <FW19>.|
|000006d0| 20 31 30 2f 34 2f 39 36 | 09 45 53 09 09 52 65 70 | 10/4/96|.ES..Rep|
|000006e0| 6c 61 63 65 64 20 44 43 | 4c 53 65 74 50 61 63 6b |laced DC|LSetPack|
|000006f0| 65 74 41 74 74 72 69 62 | 75 74 65 73 20 77 69 74 |etAttrib|utes wit|
|00000700| 68 20 44 43 4c 53 65 74 | 54 61 67 53 79 6e 63 42 |h DCLSet|TagSyncB|
|00000710| 69 74 73 2e 0d 09 20 20 | 3c 46 57 31 38 3e 09 20 |its... |<FW18>. |
|00000720| 39 2f 32 37 2f 39 36 09 | 45 53 09 09 43 68 61 6e |9/27/96.|ES..Chan|
|00000730| 67 65 64 20 74 6f 20 75 | 73 65 20 73 65 74 20 64 |ged to u|se set d|
|00000740| 72 69 76 65 72 20 69 6e | 74 65 72 66 61 63 65 20 |river in|terface |
|00000750| 63 61 6c 6c 73 20 72 61 | 74 68 65 72 20 74 68 61 |calls ra|ther tha|
|00000760| 6e 20 64 72 69 76 65 72 | 0d 09 09 09 09 09 09 09 |n driver|........|
|00000770| 09 09 69 6e 74 65 72 66 | 61 63 65 20 74 61 62 6c |..interf|ace tabl|
|00000780| 65 2e 0d 09 20 20 3c 46 | 57 31 37 3e 09 20 39 2f |e... <F|W17>. 9/|
|00000790| 32 34 2f 39 36 09 47 47 | 09 09 41 64 64 65 64 20 |24/96.GG|..Added |
|000007a0| 72 65 77 69 6e 64 2c 20 | 72 65 76 69 65 77 2c 20 |rewind, |review, |
|000007b0| 77 68 61 74 63 68 61 64 | 6f 69 6e 67 2c 20 66 61 |whatchad|oing, fa|
|000007c0| 73 74 66 6f 72 77 61 72 | 64 2c 20 66 61 73 74 70 |stforwar|d, fastp|
|000007d0| 6c 61 79 2c 20 73 6c 6f | 77 2c 0d 09 09 09 09 09 |lay, slo|w,......|
|000007e0| 09 09 09 09 6e 65 78 74 | 66 72 61 6d 65 2c 20 61 |....next|frame, a|
|000007f0| 6e 64 20 70 72 65 76 69 | 6f 75 73 66 72 61 6d 65 |nd previ|ousframe|
|00000800| 2c 20 61 6e 64 20 70 61 | 75 73 65 2e 0d 09 20 20 |, and pa|use... |
|00000810| 3c 46 57 31 36 3e 09 20 | 39 2f 31 36 2f 39 36 09 |<FW16>. |9/16/96.|
|00000820| 45 53 09 09 43 68 61 6e | 67 65 64 20 46 69 72 65 |ES..Chan|ged Fire|
|00000830| 57 69 72 65 20 64 72 69 | 76 65 72 20 69 6e 74 65 |Wire dri|ver inte|
|00000840| 72 66 61 63 65 20 70 72 | 6f 63 73 20 74 6f 20 72 |rface pr|ocs to r|
|00000850| 65 74 75 72 6e 20 63 6f | 6d 6d 61 6e 64 0d 09 09 |eturn co|mmand...|
|00000860| 09 09 09 09 09 09 09 61 | 63 63 65 70 74 61 6e 63 |.......a|cceptanc|
|00000870| 65 2e 0d 09 20 20 3c 46 | 57 31 35 3e 09 20 20 39 |e... <F|W15>. 9|
|00000880| 2f 34 2f 39 36 09 45 53 | 09 09 41 64 64 65 64 20 |/4/96.ES|..Added |
|00000890| 6d 6f 72 65 20 64 65 61 | 6c 6c 6f 63 61 74 69 6f |more dea|llocatio|
|000008a0| 6e 2e 0d 09 20 20 3c 46 | 57 31 34 3e 09 20 20 39 |n... <F|W14>. 9|
|000008b0| 2f 33 2f 39 36 09 45 53 | 09 09 41 64 64 65 64 20 |/3/96.ES|..Added |
|000008c0| 6c 69 6e 65 20 74 6f 20 | 6e 69 6c 20 6f 75 74 20 |line to |nil out |
|000008d0| 72 65 73 65 74 20 6e 6f | 74 69 66 69 63 61 74 69 |reset no|tificati|
|000008e0| 6f 6e 20 70 72 6f 63 20 | 69 6e 20 64 72 69 76 65 |on proc |in drive|
|000008f0| 72 0d 09 09 09 09 09 09 | 09 09 09 69 6e 74 65 72 |r.......|...inter|
|00000900| 66 61 63 65 20 74 61 62 | 6c 65 2e 0d 09 20 20 3c |face tab|le... <|
|00000910| 46 57 31 33 3e 09 20 38 | 2f 32 39 2f 39 36 09 45 |FW13>. 8|/29/96.E|
|00000920| 53 09 09 43 68 61 6e 67 | 65 64 20 46 57 52 65 67 |S..Chang|ed FWReg|
|00000930| 69 73 74 65 72 44 72 69 | 76 65 72 20 74 6f 20 74 |isterDri|ver to t|
|00000940| 61 6b 65 20 64 72 69 76 | 65 72 20 69 6e 74 65 72 |ake driv|er inter|
|00000950| 66 61 63 65 20 70 72 6f | 63 20 74 61 62 6c 65 2e |face pro|c table.|
|00000960| 0d 09 20 20 3c 46 57 31 | 32 3e 09 20 38 2f 32 38 |.. <FW1|2>. 8/28|
|00000970| 2f 39 36 09 45 53 09 09 | 43 68 61 6e 67 65 64 20 |/96.ES..|Changed |
|00000980| 74 68 65 20 77 61 79 20 | 74 72 69 61 6c 20 77 6f |the way |trial wo|
|00000990| 72 6b 73 20 69 6e 20 49 | 6e 69 74 49 73 6f 63 68 |rks in I|nitIsoch|
|000009a0| 50 6f 72 74 2e 0d 09 20 | 20 3c 46 57 31 31 3e 09 |Port... | <FW11>.|
|000009b0| 20 38 2f 32 36 2f 39 36 | 09 45 53 09 09 43 68 61 | 8/26/96|.ES..Cha|
|000009c0| 6e 67 65 64 20 74 6f 20 | 75 73 65 20 6e 65 77 20 |nged to |use new |
|000009d0| 63 6f 6d 6d 61 6e 64 20 | 6f 62 6a 65 63 74 20 69 |command |object i|
|000009e0| 6e 74 65 72 66 61 63 65 | 2e 0d 09 20 20 3c 46 57 |nterface|... <FW|
|000009f0| 31 30 3e 09 20 38 2f 32 | 36 2f 39 36 09 45 53 09 |10>. 8/2|6/96.ES.|
|00000a00| 09 43 68 61 6e 67 65 64 | 20 74 6f 20 61 63 63 75 |.Changed| to accu|
|00000a10| 72 61 74 65 6c 79 20 73 | 65 74 20 53 49 44 20 66 |rately s|et SID f|
|00000a20| 69 65 6c 64 20 69 6e 20 | 74 68 65 20 43 49 50 20 |ield in |the CIP |
|00000a30| 68 65 61 64 65 72 2e 20 | 41 6c 73 6f 2c 0d 09 09 |header. |Also,...|
|00000a40| 09 09 09 09 09 09 09 63 | 68 61 6e 67 65 64 20 73 |.......c|hanged s|
|00000a50| 6f 6d 65 20 63 6f 6e 73 | 74 61 6e 74 20 6e 61 6d |ome cons|tant nam|
|00000a60| 65 73 2e 0d 09 20 20 20 | 3c 46 57 39 3e 09 20 38 |es... |<FW9>. 8|
|00000a70| 2f 31 39 2f 39 36 09 45 | 53 09 09 43 68 61 6e 67 |/19/96.E|S..Chang|
|00000a80| 65 64 20 74 6f 20 75 73 | 65 20 73 65 70 61 72 61 |ed to us|e separa|
|00000a90| 74 65 20 73 74 6f 70 20 | 61 6e 64 20 73 74 61 72 |te stop |and star|
|00000aa0| 74 20 69 73 6f 63 68 72 | 6f 6e 6f 75 73 20 70 61 |t isochr|onous pa|
|00000ab0| 72 61 6d 20 62 6c 6f 63 | 6b 73 0d 09 09 09 09 09 |ram bloc|ks......|
|00000ac0| 09 09 09 09 66 6f 72 20 | 68 61 6e 64 6c 69 6e 67 |....for |handling|
|00000ad0| 20 44 56 20 73 65 6e 64 | 20 6f 76 65 72 72 75 6e | DV send| overrun|
|00000ae0| 73 2e 0d 09 20 20 20 3c | 46 57 38 3e 09 20 38 2f |s... <|FW8>. 8/|
|00000af0| 31 36 2f 39 36 09 45 53 | 09 09 43 68 61 6e 67 65 |16/96.ES|..Change|
|00000b00| 64 20 46 57 41 6c 6c 6f | 63 61 74 65 4c 6f 63 61 |d FWAllo|cateLoca|
|00000b10| 6c 49 73 6f 63 68 72 6f | 6e 6f 75 73 50 6f 72 74 |lIsochro|nousPort|
|00000b20| 20 74 6f 20 74 61 6b 65 | 20 70 61 72 61 6d 20 62 | to take| param b|
|00000b30| 6c 6f 63 6b 2e 20 4d 61 | 64 65 0d 09 09 09 09 09 |lock. Ma|de......|
|00000b40| 09 09 09 09 73 6f 6d 65 | 20 6f 74 68 65 72 20 6d |....some| other m|
|00000b50| 69 6e 6f 72 20 6d 6f 64 | 69 66 69 63 61 74 69 6f |inor mod|ificatio|
|00000b60| 6e 73 2e 0d 09 20 20 20 | 3c 46 57 37 3e 09 20 38 |ns... |<FW7>. 8|
|00000b70| 2f 31 35 2f 39 36 09 45 | 53 09 09 4d 61 64 65 20 |/15/96.E|S..Made |
|00000b80| 69 73 6f 63 68 20 63 68 | 61 6e 6e 65 6c 20 61 6e |isoch ch|annel an|
|00000b90| 64 20 70 6f 72 74 20 73 | 74 75 66 66 20 61 73 79 |d port s|tuff asy|
|00000ba0| 6e 63 68 72 6f 6e 6f 75 | 73 2e 20 41 64 64 65 64 |nchronou|s. Added|
|00000bb0| 20 6f 76 65 72 72 75 6e | 0d 09 09 09 09 09 09 09 | overrun|........|
|00000bc0| 09 09 68 61 6e 64 6c 69 | 6e 67 20 74 6f 20 44 56 |..handli|ng to DV|
|00000bd0| 20 6f 75 74 70 75 74 2e | 0d 09 20 20 20 3c 46 57 | output.|.. <FW|
|00000be0| 36 3e 09 20 20 38 2f 32 | 2f 39 36 09 45 53 09 09 |6>. 8/2|/96.ES..|
|00000bf0| 55 70 64 61 74 65 64 20 | 66 6f 72 20 6d 6f 72 65 |Updated |for more|
|00000c00| 20 69 73 6f 63 68 72 6f | 6e 6f 75 73 20 63 68 61 | isochro|nous cha|
|00000c10| 6e 67 65 73 2e 0d 09 20 | 20 20 3c 46 57 35 3e 09 |nges... | <FW5>.|
|00000c20| 20 20 38 2f 31 2f 39 36 | 09 45 53 09 09 54 6f 6f | 8/1/96|.ES..Too|
|00000c30| 6b 20 6f 75 74 20 75 6e | 75 73 65 64 20 6c 6f 63 |k out un|used loc|
|00000c40| 61 6c 20 76 61 72 69 61 | 62 6c 65 73 2e 0d 09 20 |al varia|bles... |
|00000c50| 20 20 3c 46 57 34 3e 09 | 20 37 2f 33 31 2f 39 36 | <FW4>.| 7/31/96|
|00000c60| 09 45 53 09 09 43 68 61 | 6e 67 65 64 20 74 6f 20 |.ES..Cha|nged to |
|00000c70| 75 73 65 20 6e 65 77 20 | 69 73 6f 63 68 72 6f 6e |use new |isochron|
|00000c80| 6f 75 73 20 62 75 66 66 | 65 72 20 61 72 63 68 69 |ous buff|er archi|
|00000c90| 74 65 63 74 75 72 65 2e | 0d 09 20 20 20 3c 46 57 |tecture.|.. <FW|
|00000ca0| 33 3e 09 20 20 37 2f 38 | 2f 39 36 09 45 53 09 09 |3>. 7/8|/96.ES..|
|00000cb0| 41 64 64 65 64 20 64 75 | 6d 70 20 61 6e 64 20 33 |Added du|mp and 3|
|00000cc0| 20 66 72 61 6d 65 20 73 | 6e 61 70 20 73 68 6f 74 | frame s|nap shot|
|00000cd0| 20 6c 6f 6f 70 20 70 6c | 61 79 69 6e 67 20 63 61 | loop pl|aying ca|
|00000ce0| 70 61 62 69 6c 69 74 69 | 65 73 2e 0d 09 20 20 20 |pabiliti|es... |
|00000cf0| 3c 46 57 32 3e 09 20 36 | 2f 32 30 2f 39 36 09 45 |<FW2>. 6|/20/96.E|
|00000d00| 53 09 09 46 69 6c 6c 65 | 64 20 69 6e 20 63 6f 6e |S..Fille|d in con|
|00000d10| 74 61 69 6e 73 20 61 6e | 64 20 77 72 69 74 74 65 |tains an|d writte|
|00000d20| 6e 20 62 79 20 66 69 65 | 6c 64 73 2e 0d 09 20 20 |n by fie|lds... |
|00000d30| 20 3c 46 57 31 3e 09 20 | 36 2f 32 30 2f 39 36 09 | <FW1>. |6/20/96.|
|00000d40| 45 53 09 09 66 69 72 73 | 74 20 63 68 65 63 6b 65 |ES..firs|t checke|
|00000d50| 64 20 69 6e 0d 0d 2a 2f | 0d 0d 23 69 6e 63 6c 75 |d in..*/|..#inclu|
|00000d60| 64 65 20 3c 54 79 70 65 | 73 2e 68 3e 0d 23 69 6e |de <Type|s.h>.#in|
|00000d70| 63 6c 75 64 65 20 3c 45 | 72 72 6f 72 73 2e 68 3e |clude <E|rrors.h>|
|00000d80| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 44 65 76 69 63 |.#includ|e <Devic|
|00000d90| 65 73 2e 68 3e 0d 23 69 | 6e 63 6c 75 64 65 20 3c |es.h>.#i|nclude <|
|00000da0| 44 72 69 76 65 72 53 65 | 72 76 69 63 65 73 2e 68 |DriverSe|rvices.h|
|00000db0| 3e 0d 23 69 6e 63 6c 75 | 64 65 20 3c 46 69 72 65 |>.#inclu|de <Fire|
|00000dc0| 57 69 72 65 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |Wire.h>.|#include|
|00000dd0| 20 3c 41 56 54 72 61 6e | 73 70 6f 72 74 2e 68 3e | <AVTran|sport.h>|
|00000de0| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 46 57 41 56 43 |.#includ|e <FWAVC|
|00000df0| 44 72 69 76 65 72 2e 68 | 3e 0d 2f 2a 7a 7a 7a 2a |Driver.h|>./*zzz*|
|00000e00| 2f 0d 23 69 6e 63 6c 75 | 64 65 20 3c 54 65 78 74 |/.#inclu|de <Text|
|00000e10| 55 74 69 6c 73 2e 68 3e | 0d 23 69 6e 63 6c 75 64 |Utils.h>|.#includ|
|00000e20| 65 20 3c 73 74 64 69 6f | 2e 68 3e 0d 63 68 61 72 |e <stdio|.h>.char|
|00000e30| 09 64 65 62 75 67 53 74 | 72 5b 32 35 36 5d 3b 0d |.debugSt|r[256];.|
|00000e40| 2f 2a 7a 7a 7a 2a 2f 0d | 23 64 65 66 69 6e 65 09 |/*zzz*/.|#define.|
|00000e50| 09 50 4c 41 59 09 09 09 | 30 78 30 30 30 30 63 33 |.PLAY...|0x0000c3|
|00000e60| 37 35 0d 23 64 65 66 69 | 6e 65 09 09 53 4c 4f 57 |75.#defi|ne..SLOW|
|00000e70| 09 09 09 30 78 30 30 30 | 30 63 33 33 35 0d 23 64 |...0x000|0c335.#d|
|00000e80| 65 66 69 6e 65 09 09 50 | 4c 41 59 42 41 43 4b 09 |efine..P|LAYBACK.|
|00000e90| 09 30 78 30 30 30 30 63 | 33 34 38 0d 23 64 65 66 |.0x0000c|348.#def|
|00000ea0| 69 6e 65 09 09 46 41 53 | 54 50 4c 41 59 09 09 30 |ine..FAS|TPLAY..0|
|00000eb0| 78 30 30 30 30 63 33 33 | 65 0d 23 64 65 66 69 6e |x0000c33|e.#defin|
|00000ec0| 65 09 09 50 41 55 53 45 | 09 09 09 30 78 30 30 30 |e..PAUSE|...0x000|
|00000ed0| 30 63 33 37 64 0d 23 64 | 65 66 69 6e 65 09 09 52 |0c37d.#d|efine..R|
|00000ee0| 45 56 49 45 57 09 09 09 | 30 78 30 30 30 30 63 33 |EVIEW...|0x0000c3|
|00000ef0| 34 65 0d 23 64 65 66 69 | 6e 65 09 09 4e 45 58 54 |4e.#defi|ne..NEXT|
|00000f00| 46 52 41 4d 45 09 09 30 | 78 30 30 30 30 63 33 33 |FRAME..0|x0000c33|
|00000f10| 30 0d 23 64 65 66 69 6e | 65 09 09 50 52 45 56 49 |0.#defin|e..PREVI|
|00000f20| 4f 55 53 46 52 41 4d 45 | 09 30 78 30 30 30 30 63 |OUSFRAME|.0x0000c|
|00000f30| 33 34 30 0d 0d 0d 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |340...//|////////|
|00000f40| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000f50| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000f60| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000f70| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000f80| 2f 2f 2f 2f 2f 2f 0d 2f | 2f 0d 2f 2f 20 49 6e 74 |//////./|/.// Int|
|00000f90| 65 72 6e 61 6c 20 70 72 | 6f 63 65 64 75 72 65 20 |ernal pr|ocedure |
|00000fa0| 70 72 6f 74 6f 74 79 70 | 65 73 2e 0d 2f 2f 0d 0d |prototyp|es..//..|
|00000fb0| 73 74 61 74 69 63 20 4f | 53 53 74 61 74 75 73 09 |static O|SStatus.|
|00000fc0| 46 57 41 56 43 49 6e 69 | 74 49 73 6f 63 68 50 6f |FWAVCIni|tIsochPo|
|00000fd0| 72 74 20 28 0d 09 46 57 | 43 6c 69 65 6e 74 49 6e |rt (..FW|ClientIn|
|00000fe0| 69 74 49 73 6f 63 68 50 | 6f 72 74 50 61 72 61 6d |itIsochP|ortParam|
|00000ff0| 73 50 74 72 0d 09 09 09 | 09 09 09 09 09 70 49 6e |sPtr....|.....pIn|
|00001000| 69 74 49 73 6f 63 68 50 | 6f 72 74 50 61 72 61 6d |itIsochP|ortParam|
|00001010| 73 2c 0d 09 55 49 6e 74 | 33 32 09 09 09 09 09 09 |s,..UInt|32......|
|00001020| 2a 70 43 6f 6d 6d 61 6e | 64 41 63 63 65 70 74 61 |*pComman|dAccepta|
|00001030| 6e 63 65 29 3b 0d 0d 73 | 74 61 74 69 63 20 4f 53 |nce);..s|tatic OS|
|00001040| 53 74 61 74 75 73 09 46 | 57 41 56 43 52 65 6c 65 |Status.F|WAVCRele|
|00001050| 61 73 65 49 73 6f 63 68 | 50 6f 72 74 20 28 0d 09 |aseIsoch|Port (..|
|00001060| 46 57 43 6c 69 65 6e 74 | 52 65 6c 65 61 73 65 49 |FWClient|ReleaseI|
|00001070| 73 6f 63 68 50 6f 72 74 | 50 61 72 61 6d 73 50 74 |sochPort|ParamsPt|
|00001080| 72 0d 09 09 09 09 09 09 | 09 09 70 52 65 6c 65 61 |r.......|..pRelea|
|00001090| 73 65 49 73 6f 63 68 50 | 6f 72 74 50 61 72 61 6d |seIsochP|ortParam|
|000010a0| 73 2c 0d 09 55 49 6e 74 | 33 32 09 09 09 09 09 09 |s,..UInt|32......|
|000010b0| 2a 70 43 6f 6d 6d 61 6e | 64 41 63 63 65 70 74 61 |*pComman|dAccepta|
|000010c0| 6e 63 65 29 3b 0d 0d 73 | 74 61 74 69 63 20 4f 53 |nce);..s|tatic OS|
|000010d0| 53 74 61 74 75 73 09 46 | 57 41 56 43 53 74 61 72 |Status.F|WAVCStar|
|000010e0| 74 49 73 6f 63 68 50 6f | 72 74 20 28 0d 09 46 57 |tIsochPo|rt (..FW|
|000010f0| 43 6c 69 65 6e 74 49 73 | 6f 63 68 50 6f 72 74 43 |ClientIs|ochPortC|
|00001100| 6f 6e 74 72 6f 6c 50 61 | 72 61 6d 73 50 74 72 0d |ontrolPa|ramsPtr.|
|00001110| 09 09 09 09 09 09 09 09 | 70 49 73 6f 63 68 50 6f |........|pIsochPo|
|00001120| 72 74 43 6f 6e 74 72 6f | 6c 50 61 72 61 6d 73 2c |rtContro|lParams,|
|00001130| 0d 09 55 49 6e 74 33 32 | 09 09 09 09 09 09 2a 70 |..UInt32|......*p|
|00001140| 43 6f 6d 6d 61 6e 64 41 | 63 63 65 70 74 61 6e 63 |CommandA|cceptanc|
|00001150| 65 29 3b 0d 0d 73 74 61 | 74 69 63 20 4f 53 53 74 |e);..sta|tic OSSt|
|00001160| 61 74 75 73 09 46 57 41 | 56 43 53 74 6f 70 49 73 |atus.FWA|VCStopIs|
|00001170| 6f 63 68 50 6f 72 74 20 | 28 0d 09 46 57 43 6c 69 |ochPort |(..FWCli|
|00001180| 65 6e 74 49 73 6f 63 68 | 50 6f 72 74 43 6f 6e 74 |entIsoch|PortCont|
|00001190| 72 6f 6c 50 61 72 61 6d | 73 50 74 72 0d 09 09 09 |rolParam|sPtr....|
|000011a0| 09 09 09 09 09 70 49 73 | 6f 63 68 50 6f 72 74 43 |.....pIs|ochPortC|
|000011b0| 6f 6e 74 72 6f 6c 50 61 | 72 61 6d 73 2c 0d 09 55 |ontrolPa|rams,..U|
|000011c0| 49 6e 74 33 32 09 09 09 | 09 09 09 2a 70 43 6f 6d |Int32...|...*pCom|
|000011d0| 6d 61 6e 64 41 63 63 65 | 70 74 61 6e 63 65 29 3b |mandAcce|ptance);|
|000011e0| 0d 0d 73 74 61 74 69 63 | 20 4f 53 53 74 61 74 75 |..static| OSStatu|
|000011f0| 73 09 46 57 41 56 43 49 | 6e 69 74 69 61 6c 69 7a |s.FWAVCI|nitializ|
|00001200| 65 20 28 0d 09 52 65 67 | 45 6e 74 72 79 49 44 50 |e (..Reg|EntryIDP|
|00001210| 74 72 09 09 09 09 70 52 | 65 67 45 6e 74 72 79 49 |tr....pR|egEntryI|
|00001220| 44 29 3b 0d 0d 73 74 61 | 74 69 63 20 4f 53 53 74 |D);..sta|tic OSSt|
|00001230| 61 74 75 73 09 46 57 41 | 56 43 54 65 72 6d 69 6e |atus.FWA|VCTermin|
|00001240| 61 74 65 20 28 76 6f 69 | 64 29 3b 0d 0d 73 74 61 |ate (voi|d);..sta|
|00001250| 74 69 63 20 4f 53 53 74 | 61 74 75 73 09 41 56 54 |tic OSSt|atus.AVT|
|00001260| 44 72 69 76 65 72 49 6e | 74 65 72 66 61 63 65 20 |DriverIn|terface |
|00001270| 28 0d 09 41 56 54 49 6e | 74 65 72 66 61 63 65 50 |(..AVTIn|terfaceP|
|00001280| 61 72 61 6d 73 50 74 72 | 09 09 70 41 56 54 49 6e |aramsPtr|..pAVTIn|
|00001290| 74 65 72 66 61 63 65 50 | 61 72 61 6d 73 29 3b 0d |terfaceP|arams);.|
|000012a0| 0d 73 74 61 74 69 63 20 | 4f 53 53 74 61 74 75 73 |.static |OSStatus|
|000012b0| 09 46 57 41 56 43 50 6c | 61 79 20 28 0d 09 41 56 |.FWAVCPl|ay (..AV|
|000012c0| 54 50 6c 61 79 50 61 72 | 61 6d 73 50 74 72 09 09 |TPlayPar|amsPtr..|
|000012d0| 09 70 41 56 54 50 6c 61 | 79 50 61 72 61 6d 73 29 |.pAVTPla|yParams)|
|000012e0| 3b 0d 0d 73 74 61 74 69 | 63 20 4f 53 53 74 61 74 |;..stati|c OSStat|
|000012f0| 75 73 09 46 57 41 56 43 | 53 74 6f 70 20 28 0d 09 |us.FWAVC|Stop (..|
|00001300| 41 56 54 53 74 6f 70 50 | 61 72 61 6d 73 50 74 72 |AVTStopP|aramsPtr|
|00001310| 09 09 09 70 41 56 54 53 | 74 6f 70 50 61 72 61 6d |...pAVTS|topParam|
|00001320| 73 29 3b 0d 0d 73 74 61 | 74 69 63 20 4f 53 53 74 |s);..sta|tic OSSt|
|00001330| 61 74 75 73 20 46 57 41 | 56 43 52 65 77 69 6e 64 |atus FWA|VCRewind|
|00001340| 20 28 0d 09 41 56 54 52 | 65 77 69 6e 64 50 61 72 | (..AVTR|ewindPar|
|00001350| 61 6d 73 50 74 72 09 09 | 09 70 41 56 54 52 65 77 |amsPtr..|.pAVTRew|
|00001360| 69 6e 64 50 61 72 61 6d | 73 29 3b 0d 0d 73 74 61 |indParam|s);..sta|
|00001370| 74 69 63 20 4f 53 53 74 | 61 74 75 73 20 46 57 41 |tic OSSt|atus FWA|
|00001380| 56 43 52 65 76 69 65 77 | 20 28 0d 09 41 56 54 52 |VCReview| (..AVTR|
|00001390| 65 76 69 65 77 50 61 72 | 61 6d 73 50 74 72 09 09 |eviewPar|amsPtr..|
|000013a0| 09 70 41 56 54 52 65 76 | 69 65 77 50 61 72 61 6d |.pAVTRev|iewParam|
|000013b0| 73 29 3b 0d 0d 73 74 61 | 74 69 63 20 4f 53 53 74 |s);..sta|tic OSSt|
|000013c0| 61 74 75 73 20 46 57 41 | 56 43 46 61 73 74 46 6f |atus FWA|VCFastFo|
|000013d0| 72 77 61 72 64 20 28 0d | 09 41 56 54 46 61 73 74 |rward (.|.AVTFast|
|000013e0| 46 6f 72 77 61 72 64 50 | 61 72 61 6d 73 50 74 72 |ForwardP|aramsPtr|
|000013f0| 09 09 70 41 56 54 46 61 | 73 74 46 6f 72 77 61 72 |..pAVTFa|stForwar|
|00001400| 64 50 61 72 61 6d 73 29 | 3b 0d 0d 73 74 61 74 69 |dParams)|;..stati|
|00001410| 63 20 4f 53 53 74 61 74 | 75 73 20 46 57 41 56 43 |c OSStat|us FWAVC|
|00001420| 46 61 73 74 50 6c 61 79 | 20 28 0d 09 41 56 54 46 |FastPlay| (..AVTF|
|00001430| 61 73 74 50 6c 61 79 50 | 61 72 61 6d 73 50 74 72 |astPlayP|aramsPtr|
|00001440| 09 09 70 41 56 54 46 61 | 73 74 50 6c 61 79 50 61 |..pAVTFa|stPlayPa|
|00001450| 72 61 6d 73 29 3b 0d 0d | 73 74 61 74 69 63 20 4f |rams);..|static O|
|00001460| 53 53 74 61 74 75 73 20 | 46 57 41 56 43 50 61 75 |SStatus |FWAVCPau|
|00001470| 73 65 20 28 0d 09 41 56 | 54 50 61 75 73 65 50 61 |se (..AV|TPausePa|
|00001480| 72 61 6d 73 50 74 72 09 | 09 09 70 41 56 54 50 61 |ramsPtr.|..pAVTPa|
|00001490| 75 73 65 50 61 72 61 6d | 73 29 3b 0d 0d 73 74 61 |useParam|s);..sta|
|000014a0| 74 69 63 20 4f 53 53 74 | 61 74 75 73 20 46 57 41 |tic OSSt|atus FWA|
|000014b0| 56 43 57 68 61 74 63 68 | 61 44 6f 69 6e 67 20 28 |VCWhatch|aDoing (|
|000014c0| 0d 09 41 56 54 57 68 61 | 74 63 68 61 44 6f 69 6e |..AVTWha|tchaDoin|
|000014d0| 67 50 61 72 61 6d 73 50 | 74 72 09 70 41 56 54 57 |gParamsP|tr.pAVTW|
|000014e0| 68 61 74 63 68 61 44 6f | 69 6e 67 50 61 72 61 6d |hatchaDo|ingParam|
|000014f0| 73 29 3b 0d 0d 73 74 61 | 74 69 63 20 4f 53 53 74 |s);..sta|tic OSSt|
|00001500| 61 74 75 73 20 46 57 41 | 56 43 53 6c 6f 77 20 28 |atus FWA|VCSlow (|
|00001510| 0d 09 41 56 54 53 6c 6f | 77 50 61 72 61 6d 73 50 |..AVTSlo|wParamsP|
|00001520| 74 72 09 09 09 70 41 56 | 54 53 6c 6f 77 50 61 72 |tr...pAV|TSlowPar|
|00001530| 61 6d 73 29 3b 0d 0d 73 | 74 61 74 69 63 20 4f 53 |ams);..s|tatic OS|
|00001540| 53 74 61 74 75 73 20 46 | 57 41 56 43 4e 65 78 74 |Status F|WAVCNext|
|00001550| 46 72 61 6d 65 20 28 0d | 09 41 56 54 4e 65 78 74 |Frame (.|.AVTNext|
|00001560| 46 72 61 6d 65 50 61 72 | 61 6d 73 50 74 72 09 09 |FramePar|amsPtr..|
|00001570| 70 41 56 54 4e 65 78 74 | 46 72 61 6d 65 50 61 72 |pAVTNext|FramePar|
|00001580| 61 6d 73 29 3b 0d 0d 73 | 74 61 74 69 63 20 4f 53 |ams);..s|tatic OS|
|00001590| 53 74 61 74 75 73 20 46 | 57 41 56 43 50 72 65 76 |Status F|WAVCPrev|
|000015a0| 69 6f 75 73 46 72 61 6d | 65 20 28 0d 09 41 56 54 |iousFram|e (..AVT|
|000015b0| 50 72 65 76 69 6f 75 73 | 46 72 61 6d 65 50 61 72 |Previous|FramePar|
|000015c0| 61 6d 73 50 74 72 09 70 | 41 56 54 50 72 65 76 69 |amsPtr.p|AVTPrevi|
|000015d0| 6f 75 73 46 72 61 6d 65 | 50 61 72 61 6d 73 29 3b |ousFrame|Params);|
|000015e0| 0d 0d 73 74 61 74 69 63 | 20 4f 53 53 74 61 74 75 |..static| OSStatu|
|000015f0| 73 09 46 57 41 56 43 44 | 75 6d 70 20 28 0d 09 41 |s.FWAVCD|ump (..A|
|00001600| 56 54 44 75 6d 70 50 61 | 72 61 6d 73 50 74 72 09 |VTDumpPa|ramsPtr.|
|00001610| 09 09 70 41 56 54 44 75 | 6d 70 50 61 72 61 6d 73 |..pAVTDu|mpParams|
|00001620| 29 3b 0d 0d 73 74 61 74 | 69 63 20 4f 53 53 74 61 |);..stat|ic OSSta|
|00001630| 74 75 73 09 46 57 41 56 | 43 50 6c 61 79 53 6e 61 |tus.FWAV|CPlaySna|
|00001640| 70 53 68 6f 74 20 28 0d | 09 41 56 54 50 6c 61 79 |pShot (.|.AVTPlay|
|00001650| 53 6e 61 70 53 68 6f 74 | 50 61 72 61 6d 73 50 74 |SnapShot|ParamsPt|
|00001660| 72 09 70 41 56 54 50 6c | 61 79 53 6e 61 70 53 68 |r.pAVTPl|aySnapSh|
|00001670| 6f 74 50 61 72 61 6d 73 | 29 3b 0d 0d 73 74 61 74 |otParams|);..stat|
|00001680| 69 63 20 4f 53 53 74 61 | 74 75 73 09 46 57 41 56 |ic OSSta|tus.FWAV|
|00001690| 43 53 74 6f 70 53 6e 61 | 70 53 68 6f 74 20 28 0d |CStopSna|pShot (.|
|000016a0| 09 41 56 54 49 6e 74 65 | 72 66 61 63 65 50 61 72 |.AVTInte|rfacePar|
|000016b0| 61 6d 73 50 74 72 09 09 | 70 41 56 54 49 6e 74 65 |amsPtr..|pAVTInte|
|000016c0| 72 66 61 63 65 50 61 72 | 61 6d 73 29 3b 0d 0d 73 |rfacePar|ams);..s|
|000016d0| 74 61 74 69 63 20 76 6f | 69 64 09 46 57 41 56 43 |tatic vo|id.FWAVC|
|000016e0| 44 56 50 69 6e 67 50 6f | 6e 67 20 28 0d 09 44 43 |DVPingPo|ng (..DC|
|000016f0| 4c 43 6f 6d 6d 61 6e 64 | 50 74 72 09 09 09 09 70 |LCommand|Ptr....p|
|00001700| 44 43 4c 43 6f 6d 6d 61 | 6e 64 50 74 72 29 3b 0d |DCLComma|ndPtr);.|
|00001710| 0d 73 74 61 74 69 63 20 | 76 6f 69 64 09 46 57 41 |.static |void.FWA|
|00001720| 56 43 48 61 6e 64 6c 65 | 44 56 53 65 6e 64 20 28 |VCHandle|DVSend (|
|00001730| 0d 09 44 43 4c 43 6f 6d | 6d 61 6e 64 50 74 72 09 |..DCLCom|mandPtr.|
|00001740| 09 09 09 70 44 43 4c 43 | 6f 6d 6d 61 6e 64 29 3b |...pDCLC|ommand);|
|00001750| 0d 0d 73 74 61 74 69 63 | 20 76 6f 69 64 09 46 57 |..static| void.FW|
|00001760| 41 56 43 55 70 64 61 74 | 65 44 56 53 65 6e 64 42 |AVCUpdat|eDVSendB|
|00001770| 75 66 66 65 72 73 20 28 | 0d 09 44 43 4c 43 6f 6d |uffers (|..DCLCom|
|00001780| 6d 61 6e 64 50 74 72 09 | 09 09 09 70 44 43 4c 43 |mandPtr.|...pDCLC|
|00001790| 6f 6d 6d 61 6e 64 50 74 | 72 29 3b 0d 0d 73 74 61 |ommandPt|r);..sta|
|000017a0| 74 69 63 20 76 6f 69 64 | 09 46 57 41 56 43 48 61 |tic void|.FWAVCHa|
|000017b0| 6e 64 6c 65 44 56 53 65 | 6e 64 55 6e 64 65 72 72 |ndleDVSe|ndUnderr|
|000017c0| 75 6e 20 28 0d 09 44 43 | 4c 43 6f 6d 6d 61 6e 64 |un (..DC|LCommand|
|000017d0| 50 74 72 09 09 09 09 70 | 44 43 4c 43 6f 6d 6d 61 |Ptr....p|DCLComma|
|000017e0| 6e 64 50 74 72 29 3b 0d | 0d 73 74 61 74 69 63 20 |ndPtr);.|.static |
|000017f0| 76 6f 69 64 09 46 57 41 | 56 43 48 61 6e 64 6c 65 |void.FWA|VCHandle|
|00001800| 44 56 53 65 6e 64 55 6e | 64 65 72 72 75 6e 53 74 |DVSendUn|derrunSt|
|00001810| 6f 70 49 73 6f 63 68 72 | 6f 6e 6f 75 73 43 68 61 |opIsochr|onousCha|
|00001820| 6e 6e 65 6c 43 6f 6d 70 | 6c 65 74 69 6f 6e 50 72 |nnelComp|letionPr|
|00001830| 6f 63 20 28 0d 09 46 57 | 43 6f 6d 6d 61 6e 64 4f |oc (..FW|CommandO|
|00001840| 62 6a 65 63 74 49 44 09 | 09 09 66 77 43 6f 6d 6d |bjectID.|..fwComm|
|00001850| 61 6e 64 4f 62 6a 65 63 | 74 49 44 2c 0d 09 4f 53 |andObjec|tID,..OS|
|00001860| 53 74 61 74 75 73 09 09 | 09 09 09 63 6f 6d 6d 61 |Status..|...comma|
|00001870| 6e 64 53 74 61 74 75 73 | 2c 0d 09 55 49 6e 74 33 |ndStatus|,..UInt3|
|00001880| 32 09 09 09 09 09 09 63 | 6f 6d 70 6c 65 74 69 6f |2......c|ompletio|
|00001890| 6e 50 72 6f 63 44 61 74 | 61 29 3b 0d 0d 73 74 61 |nProcDat|a);..sta|
|000018a0| 74 69 63 20 76 6f 69 64 | 09 46 57 41 56 43 43 6c |tic void|.FWAVCCl|
|000018b0| 69 65 6e 74 43 6f 6d 6d | 61 6e 64 43 6f 6d 70 6c |ientComm|andCompl|
|000018c0| 65 74 69 6f 6e 50 72 6f | 63 20 28 0d 09 46 57 43 |etionPro|c (..FWC|
|000018d0| 6f 6d 6d 61 6e 64 4f 62 | 6a 65 63 74 49 44 09 09 |ommandOb|jectID..|
|000018e0| 09 66 77 43 6f 6d 6d 61 | 6e 64 4f 62 6a 65 63 74 |.fwComma|ndObject|
|000018f0| 49 44 2c 0d 09 4f 53 53 | 74 61 74 75 73 09 09 09 |ID,..OSS|tatus...|
|00001900| 09 09 63 6f 6d 6d 61 6e | 64 53 74 61 74 75 73 2c |..comman|dStatus,|
|00001910| 0d 09 55 49 6e 74 33 32 | 09 09 09 09 09 09 63 6f |..UInt32|......co|
|00001920| 6d 70 6c 65 74 69 6f 6e | 50 72 6f 63 44 61 74 61 |mpletion|ProcData|
|00001930| 29 3b 0d 0d 73 74 61 74 | 69 63 20 46 57 41 56 43 |);..stat|ic FWAVC|
|00001940| 50 6c 61 79 42 75 66 66 | 65 72 47 72 6f 75 70 44 |PlayBuff|erGroupD|
|00001950| 61 74 61 50 74 72 09 46 | 57 41 56 43 41 6c 6c 6f |ataPtr.F|WAVCAllo|
|00001960| 63 61 74 65 50 6c 61 79 | 42 75 66 66 65 72 47 72 |catePlay|BufferGr|
|00001970| 6f 75 70 20 28 0d 09 46 | 57 41 56 43 44 72 69 76 |oup (..F|WAVCDriv|
|00001980| 65 72 44 61 74 61 50 74 | 72 09 09 09 70 46 57 41 |erDataPt|r...pFWA|
|00001990| 56 43 44 72 69 76 65 72 | 44 61 74 61 29 3b 0d 0d |VCDriver|Data);..|
|000019a0| 73 74 61 74 69 63 20 76 | 6f 69 64 09 46 57 41 56 |static v|oid.FWAV|
|000019b0| 43 44 65 61 6c 6c 6f 63 | 61 74 65 50 6c 61 79 42 |CDealloc|atePlayB|
|000019c0| 75 66 66 65 72 47 72 6f | 75 70 20 28 0d 09 46 57 |ufferGro|up (..FW|
|000019d0| 41 56 43 50 6c 61 79 42 | 75 66 66 65 72 47 72 6f |AVCPlayB|ufferGro|
|000019e0| 75 70 44 61 74 61 50 74 | 72 09 70 46 57 41 56 43 |upDataPt|r.pFWAVC|
|000019f0| 50 6c 61 79 42 75 66 66 | 65 72 47 72 6f 75 70 44 |PlayBuff|erGroupD|
|00001a00| 61 74 61 29 3b 0d 0d 73 | 74 61 74 69 63 20 4f 53 |ata);..s|tatic OS|
|00001a10| 53 74 61 74 75 73 09 46 | 57 41 56 43 43 72 65 61 |Status.F|WAVCCrea|
|00001a20| 74 65 50 6c 61 79 42 75 | 66 66 65 72 47 72 6f 75 |tePlayBu|fferGrou|
|00001a30| 70 55 70 64 61 74 65 4c | 69 73 74 20 28 0d 09 46 |pUpdateL|ist (..F|
|00001a40| 57 41 56 43 50 6c 61 79 | 42 75 66 66 65 72 47 72 |WAVCPlay|BufferGr|
|00001a50| 6f 75 70 44 61 74 61 50 | 74 72 09 70 46 57 41 56 |oupDataP|tr.pFWAV|
|00001a60| 43 50 6c 61 79 42 75 66 | 66 65 72 47 72 6f 75 70 |CPlayBuf|ferGroup|
|00001a70| 44 61 74 61 29 3b 0d 0d | 73 74 61 74 69 63 20 44 |Data);..|static D|
|00001a80| 43 4c 43 6f 6d 6d 61 6e | 64 50 74 72 09 46 57 41 |CLComman|dPtr.FWA|
|00001a90| 56 43 41 6c 6c 6f 63 61 | 74 65 44 43 4c 43 6f 6d |VCAlloca|teDCLCom|
|00001aa0| 6d 61 6e 64 20 28 0d 09 | 44 43 4c 43 6f 6d 6d 61 |mand (..|DCLComma|
|00001ab0| 6e 64 50 6f 6f 6c 50 74 | 72 09 09 09 70 44 43 4c |ndPoolPt|r...pDCL|
|00001ac0| 43 6f 6d 6d 61 6e 64 50 | 6f 6f 6c 2c 0d 09 55 49 |CommandP|ool,..UI|
|00001ad0| 6e 74 33 32 09 09 09 09 | 09 09 64 63 6c 53 69 7a |nt32....|..dclSiz|
|00001ae0| 65 29 3b 0d 0d 73 74 61 | 74 69 63 20 44 43 4c 43 |e);..sta|tic DCLC|
|00001af0| 6f 6d 6d 61 6e 64 42 6c | 6f 63 6b 50 74 72 09 46 |ommandBl|ockPtr.F|
|00001b00| 57 41 56 43 41 6c 6c 6f | 63 61 74 65 44 43 4c 43 |WAVCAllo|cateDCLC|
|00001b10| 6f 6d 6d 61 6e 64 42 6c | 6f 63 6b 20 28 0d 09 44 |ommandBl|ock (..D|
|00001b20| 43 4c 43 6f 6d 6d 61 6e | 64 50 6f 6f 6c 50 74 72 |CLComman|dPoolPtr|
|00001b30| 09 09 09 70 44 43 4c 43 | 6f 6d 6d 61 6e 64 50 6f |...pDCLC|ommandPo|
|00001b40| 6f 6c 29 3b 0d 0d 73 74 | 61 74 69 63 20 76 6f 69 |ol);..st|atic voi|
|00001b50| 64 09 46 57 41 56 43 44 | 65 61 6c 6c 6f 63 61 74 |d.FWAVCD|eallocat|
|00001b60| 65 44 43 4c 43 6f 6d 6d | 61 6e 64 42 6c 6f 63 6b |eDCLComm|andBlock|
|00001b70| 20 28 0d 09 44 43 4c 43 | 6f 6d 6d 61 6e 64 42 6c | (..DCLC|ommandBl|
|00001b80| 6f 63 6b 50 74 72 09 09 | 09 70 44 43 4c 43 6f 6d |ockPtr..|.pDCLCom|
|00001b90| 6d 61 6e 64 42 6c 6f 63 | 6b 29 3b 0d 0d 73 74 61 |mandBloc|k);..sta|
|00001ba0| 74 69 63 20 44 43 4c 43 | 6f 6d 6d 61 6e 64 50 6f |tic DCLC|ommandPo|
|00001bb0| 6f 6c 50 74 72 09 46 57 | 41 56 43 41 6c 6c 6f 63 |olPtr.FW|AVCAlloc|
|00001bc0| 61 74 65 44 43 4c 43 6f | 6d 6d 61 6e 64 50 6f 6f |ateDCLCo|mmandPoo|
|00001bd0| 6c 20 28 76 6f 69 64 29 | 3b 0d 0d 73 74 61 74 69 |l (void)|;..stati|
|00001be0| 63 20 76 6f 69 64 09 46 | 57 41 56 43 44 65 61 6c |c void.F|WAVCDeal|
|00001bf0| 6c 6f 63 61 74 65 44 43 | 4c 43 6f 6d 6d 61 6e 64 |locateDC|LCommand|
|00001c00| 50 6f 6f 6c 20 28 0d 09 | 44 43 4c 43 6f 6d 6d 61 |Pool (..|DCLComma|
|00001c10| 6e 64 50 6f 6f 6c 50 74 | 72 09 09 09 70 44 43 4c |ndPoolPt|r...pDCL|
|00001c20| 43 6f 6d 6d 61 6e 64 50 | 6f 6f 6c 29 3b 0d 0d 73 |CommandP|ool);..s|
|00001c30| 74 61 74 69 63 20 55 49 | 6e 74 33 32 09 46 57 41 |tatic UI|nt32.FWA|
|00001c40| 56 43 41 64 64 43 79 63 | 6c 65 54 69 6d 65 54 6f |VCAddCyc|leTimeTo|
|00001c50| 43 79 63 6c 65 54 69 6d | 65 20 28 0d 09 55 49 6e |CycleTim|e (..UIn|
|00001c60| 74 33 32 09 09 09 09 09 | 09 63 79 63 6c 65 54 69 |t32.....|.cycleTi|
|00001c70| 6d 65 31 2c 0d 09 55 49 | 6e 74 33 32 09 09 09 09 |me1,..UI|nt32....|
|00001c80| 09 09 63 79 63 6c 65 54 | 69 6d 65 32 29 3b 0d 0d |..cycleT|ime2);..|
|00001c90| 73 74 61 74 69 63 20 55 | 49 6e 74 33 32 09 46 57 |static U|Int32.FW|
|00001ca0| 41 56 43 53 75 62 74 72 | 61 63 74 43 79 63 6c 65 |AVCSubtr|actCycle|
|00001cb0| 54 69 6d 65 46 72 6f 6d | 43 79 63 6c 65 54 69 6d |TimeFrom|CycleTim|
|00001cc0| 65 20 28 0d 09 55 49 6e | 74 33 32 09 09 09 09 09 |e (..UIn|t32.....|
|00001cd0| 09 63 79 63 6c 65 54 69 | 6d 65 31 2c 0d 09 55 49 |.cycleTi|me1,..UI|
|00001ce0| 6e 74 33 32 09 09 09 09 | 09 09 63 79 63 6c 65 54 |nt32....|..cycleT|
|00001cf0| 69 6d 65 32 29 3b 0d 0d | 73 74 61 74 69 63 20 55 |ime2);..|static U|
|00001d00| 49 6e 74 33 32 09 46 57 | 41 56 43 43 6f 6e 76 65 |Int32.FW|AVCConve|
|00001d10| 72 74 46 72 61 63 74 69 | 6f 6e 61 6c 53 65 63 6f |rtFracti|onalSeco|
|00001d20| 6e 64 73 54 6f 43 79 63 | 6c 65 54 69 6d 65 20 28 |ndsToCyc|leTime (|
|00001d30| 0d 09 55 49 6e 74 33 32 | 09 09 09 09 09 09 73 65 |..UInt32|......se|
|00001d40| 63 6f 6e 64 73 4e 75 6d | 65 72 61 74 6f 72 2c 0d |condsNum|erator,.|
|00001d50| 09 55 49 6e 74 33 32 09 | 09 09 09 09 09 73 65 63 |.UInt32.|.....sec|
|00001d60| 6f 6e 64 73 44 65 6e 6f | 6d 69 6e 61 74 6f 72 29 |ondsDeno|minator)|
|00001d70| 3b 0d 0d 0d 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |;...////|////////|
|00001d80| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001d90| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001da0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001db0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001dc0| 2f 2f 2f 2f 0d 2f 2f 0d | 2f 2f 20 54 68 65 20 64 |////.//.|// The d|
|00001dd0| 72 69 76 65 72 20 64 65 | 73 63 72 69 70 74 6f 72 |river de|scriptor|
|00001de0| 2e 0d 2f 2f 0d 0d 44 72 | 69 76 65 72 44 65 73 63 |..//..Dr|iverDesc|
|00001df0| 72 69 70 74 69 6f 6e 20 | 09 09 09 09 54 68 65 44 |ription |....TheD|
|00001e00| 72 69 76 65 72 44 65 73 | 63 72 69 70 74 69 6f 6e |riverDes|cription|
|00001e10| 20 3d 0d 7b 0d 09 6b 54 | 68 65 44 65 73 63 72 69 | =.{..kT|heDescri|
|00001e20| 70 74 69 6f 6e 53 69 67 | 6e 61 74 75 72 65 2c 0d |ptionSig|nature,.|
|00001e30| 09 6b 49 6e 69 74 69 61 | 6c 44 72 69 76 65 72 44 |.kInitia|lDriverD|
|00001e40| 65 73 63 72 69 70 74 6f | 72 2c 0d 09 7b 0d 23 69 |escripto|r,..{.#i|
|00001e50| 66 64 65 66 20 46 57 41 | 56 43 41 6c 74 65 72 6e |fdef FWA|VCAltern|
|00001e60| 61 74 65 44 72 69 76 65 | 72 0d 09 09 22 5c 70 66 |ateDrive|r..."\pf|
|00001e70| 77 61 30 32 64 2c 31 30 | 30 30 30 22 2c 0d 23 65 |wa02d,10|000",.#e|
|00001e80| 6c 73 65 0d 09 09 22 5c | 70 66 77 61 30 32 64 2c |lse..."\|pfwa02d,|
|00001e90| 31 30 30 30 31 22 2c 0d | 23 65 6e 64 69 66 0d 09 |10001",.|#endif..|
|00001ea0| 09 31 2c 20 30 2c 20 66 | 69 6e 61 6c 53 74 61 67 |.1, 0, f|inalStag|
|00001eb0| 65 2c 20 31 2c 0d 09 7d | 2c 0d 09 7b 0d 09 09 6b |e, 1,..}|,..{...k|
|00001ec0| 44 72 69 76 65 72 49 73 | 55 6e 64 65 72 45 78 70 |DriverIs|UnderExp|
|00001ed0| 65 72 74 43 6f 6e 74 72 | 6f 6c 2c 0d 09 09 22 5c |ertContr|ol,..."\|
|00001ee0| 70 46 57 41 56 43 44 72 | 69 76 65 72 22 2c 0d 09 |pFWAVCDr|iver",..|
|00001ef0| 7d 2c 0d 0d 09 31 2c 0d | 09 6b 53 65 72 76 69 63 |},...1,.|.kServic|
|00001f00| 65 43 61 74 65 67 6f 72 | 79 4e 64 72 76 44 72 69 |eCategor|yNdrvDri|
|00001f10| 76 65 72 2c 0d 09 6b 4e | 64 72 76 54 79 70 65 49 |ver,..kN|drvTypeI|
|00001f20| 73 41 56 54 72 61 6e 73 | 70 6f 72 74 2c 0d 09 31 |sAVTrans|port,..1|
|00001f30| 2c 30 2c 30 2c 30 0d 7d | 3b 0d 0d 0d 2f 2f 2f 2f |,0,0,0.}|;...////|
|00001f40| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001f50| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001f60| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001f70| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001f80| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 0d 2f 2f 0d |////////|////.//.|
|00001f90| 2f 2f 20 47 6c 6f 62 61 | 6c 20 64 72 69 76 65 72 |// Globa|l driver|
|00001fa0| 20 64 61 74 61 2e 0d 2f | 2f 0d 0d 46 57 41 56 43 | data../|/..FWAVC|
|00001fb0| 44 72 69 76 65 72 44 61 | 74 61 50 74 72 09 09 09 |DriverDa|taPtr...|
|00001fc0| 09 67 70 46 57 41 56 43 | 44 72 69 76 65 72 44 61 |.gpFWAVC|DriverDa|
|00001fd0| 74 61 20 3d 20 6e 69 6c | 3b 0d 0d 0d 2f 2f 2f 2f |ta = nil|;...////|
|00001fe0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001ff0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002000| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002010| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002020| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 0d 2f 2f 0d |////////|////.//.|
|00002030| 2f 2f 20 44 6f 44 72 69 | 76 65 72 49 4f 0d 2f 2f |// DoDri|verIO.//|
|00002040| 0d 2f 2f 20 20 20 4d 61 | 69 6e 20 65 6e 74 72 79 |.// Ma|in entry|
|00002050| 20 70 6f 69 6e 74 2e 0d | 2f 2f 0d 0d 4f 53 45 72 | point..|//..OSEr|
|00002060| 72 09 44 6f 44 72 69 76 | 65 72 49 4f 28 0d 09 41 |r.DoDriv|erIO(..A|
|00002070| 64 64 72 65 73 73 53 70 | 61 63 65 49 44 09 09 09 |ddressSp|aceID...|
|00002080| 09 61 64 64 72 65 73 73 | 53 70 61 63 65 49 44 2c |.address|SpaceID,|
|00002090| 0d 09 49 4f 43 6f 6d 6d | 61 6e 64 49 44 09 09 09 |..IOComm|andID...|
|000020a0| 09 09 69 6f 43 6f 6d 6d | 61 6e 64 49 44 2c 0d 09 |..ioComm|andID,..|
|000020b0| 49 4f 43 6f 6d 6d 61 6e | 64 43 6f 6e 74 65 6e 74 |IOComman|dContent|
|000020c0| 73 09 09 09 69 6f 43 6f | 6d 6d 61 6e 64 43 6f 6e |s...ioCo|mmandCon|
|000020d0| 74 65 6e 74 73 2c 0d 09 | 49 4f 43 6f 6d 6d 61 6e |tents,..|IOComman|
|000020e0| 64 43 6f 64 65 09 09 09 | 09 69 6f 43 6f 6d 6d 61 |dCode...|.ioComma|
|000020f0| 6e 64 43 6f 64 65 2c 0d | 09 49 4f 43 6f 6d 6d 61 |ndCode,.|.IOComma|
|00002100| 6e 64 4b 69 6e 64 09 09 | 09 09 69 6f 43 6f 6d 6d |ndKind..|..ioComm|
|00002110| 61 6e 64 4b 69 6e 64 29 | 0d 7b 0d 09 43 6e 74 72 |andKind)|.{..Cntr|
|00002120| 6c 50 61 72 61 6d 50 74 | 72 09 09 09 09 70 43 6e |lParamPt|r....pCn|
|00002130| 74 72 6c 50 61 72 61 6d | 3b 0d 09 4f 53 45 72 72 |trlParam|;..OSErr|
|00002140| 09 09 09 09 09 09 65 72 | 72 20 3d 20 6e 6f 45 72 |......er|r = noEr|
|00002150| 72 3b 0d 0d 09 73 77 69 | 74 63 68 20 28 69 6f 43 |r;...swi|tch (ioC|
|00002160| 6f 6d 6d 61 6e 64 43 6f | 64 65 29 0d 09 7b 0d 09 |ommandCo|de)..{..|
|00002170| 09 63 61 73 65 20 6b 49 | 6e 69 74 69 61 6c 69 7a |.case kI|nitializ|
|00002180| 65 43 6f 6d 6d 61 6e 64 | 20 3a 0d 09 09 09 65 72 |eCommand| :....er|
|00002190| 72 20 3d 20 46 57 41 56 | 43 49 6e 69 74 69 61 6c |r = FWAV|CInitial|
|000021a0| 69 7a 65 20 28 26 69 6f | 43 6f 6d 6d 61 6e 64 43 |ize (&io|CommandC|
|000021b0| 6f 6e 74 65 6e 74 73 2e | 69 6e 69 74 69 61 6c 49 |ontents.|initialI|
|000021c0| 6e 66 6f 2d 3e 64 65 76 | 69 63 65 45 6e 74 72 79 |nfo->dev|iceEntry|
|000021d0| 29 3b 0d 09 09 09 62 72 | 65 61 6b 3b 0d 0d 09 09 |);....br|eak;....|
|000021e0| 63 61 73 65 20 6b 46 69 | 6e 61 6c 69 7a 65 43 6f |case kFi|nalizeCo|
|000021f0| 6d 6d 61 6e 64 20 3a 0d | 09 09 09 65 72 72 20 3d |mmand :.|...err =|
|00002200| 20 46 57 41 56 43 54 65 | 72 6d 69 6e 61 74 65 20 | FWAVCTe|rminate |
|00002210| 28 29 3b 0d 0d 09 09 63 | 61 73 65 20 6b 4f 70 65 |();....c|ase kOpe|
|00002220| 6e 43 6f 6d 6d 61 6e 64 | 20 3a 0d 09 09 09 62 72 |nCommand| :....br|
|00002230| 65 61 6b 3b 0d 0d 09 09 | 63 61 73 65 20 6b 43 6c |eak;....|case kCl|
|00002240| 6f 73 65 43 6f 6d 6d 61 | 6e 64 20 3a 0d 09 09 09 |oseComma|nd :....|
|00002250| 62 72 65 61 6b 3b 0d 0d | 09 09 63 61 73 65 20 6b |break;..|..case k|
|00002260| 43 6f 6e 74 72 6f 6c 43 | 6f 6d 6d 61 6e 64 20 3a |ControlC|ommand :|
|00002270| 0d 09 09 09 70 43 6e 74 | 72 6c 50 61 72 61 6d 20 |....pCnt|rlParam |
|00002280| 3d 20 28 43 6e 74 72 6c | 50 61 72 61 6d 50 74 72 |= (Cntrl|ParamPtr|
|00002290| 29 20 69 6f 43 6f 6d 6d | 61 6e 64 43 6f 6e 74 65 |) ioComm|andConte|
|000022a0| 6e 74 73 2e 70 62 3b 0d | 09 09 09 69 66 20 28 70 |nts.pb;.|...if (p|
|000022b0| 43 6e 74 72 6c 50 61 72 | 61 6d 2d 3e 63 73 43 6f |CntrlPar|am->csCo|
|000022c0| 64 65 20 3d 3d 20 63 73 | 63 41 56 54 43 6f 6d 6d |de == cs|cAVTComm|
|000022d0| 61 6e 64 29 0d 09 09 09 | 7b 0d 09 09 09 09 65 72 |and)....|{.....er|
|000022e0| 72 20 3d 20 41 56 54 44 | 72 69 76 65 72 49 6e 74 |r = AVTD|riverInt|
|000022f0| 65 72 66 61 63 65 0d 09 | 09 09 09 09 09 28 2a 28 |erface..|.....(*(|
|00002300| 28 41 56 54 49 6e 74 65 | 72 66 61 63 65 50 61 72 |(AVTInte|rfacePar|
|00002310| 61 6d 73 50 74 72 20 2a | 29 20 26 28 70 43 6e 74 |amsPtr *|) &(pCnt|
|00002320| 72 6c 50 61 72 61 6d 2d | 3e 63 73 50 61 72 61 6d |rlParam-|>csParam|
|00002330| 5b 30 5d 29 29 29 3b 0d | 09 09 09 7d 0d 09 09 09 |[0])));.|...}....|
|00002340| 65 6c 73 65 0d 09 09 09 | 7b 0d 09 09 09 09 65 72 |else....|{.....er|
|00002350| 72 20 3d 20 63 6f 6e 74 | 72 6f 6c 45 72 72 3b 0d |r = cont|rolErr;.|
|00002360| 09 09 09 7d 0d 09 09 09 | 62 72 65 61 6b 3b 0d 0d |...}....|break;..|
|00002370| 09 09 63 61 73 65 20 6b | 53 74 61 74 75 73 43 6f |..case k|StatusCo|
|00002380| 6d 6d 61 6e 64 20 3a 0d | 09 09 09 65 72 72 20 3d |mmand :.|...err =|
|00002390| 20 73 74 61 74 75 73 45 | 72 72 3b 0d 09 09 09 62 | statusE|rr;....b|
|000023a0| 72 65 61 6b 3b 0d 0d 09 | 09 64 65 66 61 75 6c 74 |reak;...|.default|
|000023b0| 20 3a 0d 09 09 09 65 72 | 72 20 3d 20 70 61 72 61 | :....er|r = para|
|000023c0| 6d 45 72 72 3b 0d 09 7d | 0d 0d 09 2f 2f 20 57 65 |mErr;..}|...// We|
|000023d0| 27 72 65 20 63 6f 6d 70 | 6c 65 74 65 2e 0d 09 69 |'re comp|lete...i|
|000023e0| 66 20 28 69 6f 43 6f 6d | 6d 61 6e 64 4b 69 6e 64 |f (ioCom|mandKind|
|000023f0| 20 3d 3d 20 6b 49 6d 6d | 65 64 69 61 74 65 49 4f | == kImm|ediateIO|
|00002400| 43 6f 6d 6d 61 6e 64 4b | 69 6e 64 29 0d 09 09 72 |CommandK|ind)...r|
|00002410| 65 74 75 72 6e 20 28 65 | 72 72 29 3b 0d 09 65 6c |eturn (e|rr);..el|
|00002420| 73 65 0d 09 09 72 65 74 | 75 72 6e 20 28 49 4f 43 |se...ret|urn (IOC|
|00002430| 6f 6d 6d 61 6e 64 49 73 | 43 6f 6d 70 6c 65 74 65 |ommandIs|Complete|
|00002440| 20 28 69 6f 43 6f 6d 6d | 61 6e 64 49 44 2c 20 65 | (ioComm|andID, e|
|00002450| 72 72 29 29 3b 0d 0d 09 | 72 65 74 75 72 6e 20 28 |rr));...|return (|
|00002460| 65 72 72 29 3b 0d 7d 0d | 0d 0d 2f 2f 2f 2f 2f 2f |err);.}.|..//////|
|00002470| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002480| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00002490| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000024a0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000024b0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 0d 2f 2f 0d 2f 2f |////////|//.//.//|
|000024c0| 20 46 57 41 56 43 49 6e | 69 74 49 73 6f 63 68 50 | FWAVCIn|itIsochP|
|000024d0| 6f 72 74 0d 2f 2f 0d 2f | 2f 20 20 20 54 68 69 73 |ort.//./|/ This|
|000024e0| 20 72 6f 75 74 69 6e 65 | 20 69 6e 69 74 69 61 6c | routine| initial|
|000024f0| 69 7a 65 73 20 61 6e 20 | 69 73 6f 63 68 72 6f 6e |izes an |isochron|
|00002500| 6f 75 73 20 70 6f 72 74 | 20 66 6f 72 20 74 68 65 |ous port| for the|
|00002510| 20 41 56 43 20 63 61 6d | 65 72 61 2e 20 20 49 66 | AVC cam|era. If|
|00002520| 0d 2f 2f 20 74 68 65 20 | 72 65 71 75 65 73 74 20 |.// the |request |
|00002530| 69 73 20 66 6f 72 20 74 | 68 65 20 74 61 6c 6b 69 |is for t|he talki|
|00002540| 6e 67 20 70 6f 72 74 2c | 20 74 68 69 73 20 72 6f |ng port,| this ro|
|00002550| 75 74 69 6e 65 20 73 65 | 74 73 20 75 70 20 74 68 |utine se|ts up th|
|00002560| 65 20 63 61 6d 65 72 61 | 27 73 0d 2f 2f 20 69 73 |e camera|'s.// is|
|00002570| 6f 63 68 72 6f 6e 6f 75 | 73 20 70 6f 72 74 2e 20 |ochronou|s port. |
|00002580| 20 49 66 20 74 68 65 20 | 72 65 71 75 65 73 74 20 | If the |request |
|00002590| 69 73 20 66 6f 72 20 74 | 68 65 20 6c 69 73 74 65 |is for t|he liste|
|000025a0| 6e 69 6e 67 20 70 6f 72 | 74 2c 20 74 68 69 73 20 |ning por|t, this |
|000025b0| 72 6f 75 74 69 6e 65 0d | 2f 2f 20 73 65 74 73 20 |routine.|// sets |
|000025c0| 75 70 20 74 68 65 20 6c | 6f 63 61 6c 20 6e 6f 64 |up the l|ocal nod|
|000025d0| 65 27 73 20 69 73 6f 63 | 68 72 6f 6e 6f 75 73 20 |e's isoc|hronous |
|000025e0| 70 6f 72 74 2e 0d 2f 2f | 0d 0d 73 74 61 74 69 63 |port..//|..static|
|000025f0| 20 4f 53 53 74 61 74 75 | 73 09 46 57 41 56 43 49 | OSStatu|s.FWAVCI|
|00002600| 6e 69 74 49 73 6f 63 68 | 50 6f 72 74 28 0d 09 46 |nitIsoch|Port(..F|
|00002610| 57 43 6c 69 65 6e 74 49 | 6e 69 74 49 73 6f 63 68 |WClientI|nitIsoch|
|00002620| 50 6f 72 74 50 61 72 61 | 6d 73 50 74 72 0d 09 09 |PortPara|msPtr...|
|00002630| 09 09 09 09 09 09 70 49 | 6e 69 74 49 73 6f 63 68 |......pI|nitIsoch|
|00002640| 50 6f 72 74 50 61 72 61 | 6d 73 2c 0d 09 55 49 6e |PortPara|ms,..UIn|
|00002650| 74 33 32 09 09 09 09 09 | 09 2a 70 43 6f 6d 6d 61 |t32.....|.*pComma|
|00002660| 6e 64 41 63 63 65 70 74 | 61 6e 63 65 29 0d 7b 0d |ndAccept|ance).{.|
|00002670| 09 46 57 41 56 43 44 72 | 69 76 65 72 44 61 74 61 |.FWAVCDr|iverData|
|00002680| 50 74 72 09 09 09 70 46 | 57 41 56 43 44 72 69 76 |Ptr...pF|WAVCDriv|
|00002690| 65 72 44 61 74 61 3b 0d | 09 46 57 43 6f 6d 6d 61 |erData;.|.FWComma|
|000026a0| 6e 64 4f 62 6a 65 63 74 | 49 44 09 09 09 69 73 6f |ndObject|ID...iso|
|000026b0| 63 68 50 6f 72 74 43 6f | 6d 6d 61 6e 64 4f 62 6a |chPortCo|mmandObj|
|000026c0| 65 63 74 49 44 3b 0d 09 | 49 73 6f 63 68 43 68 61 |ectID;..|IsochCha|
|000026d0| 6e 6e 65 6c 49 44 09 09 | 09 09 69 73 6f 63 68 43 |nnelID..|..isochC|
|000026e0| 68 61 6e 6e 65 6c 49 44 | 3b 0d 09 55 49 6e 74 33 |hannelID|;..UInt3|
|000026f0| 32 09 09 09 09 09 09 63 | 68 61 6e 6e 65 6c 4e 75 |2......c|hannelNu|
|00002700| 6d 3b 0d 09 55 49 6e 74 | 33 32 09 09 09 09 09 09 |m;..UInt|32......|
|00002710| 73 70 65 65 64 3b 0d 09 | 42 6f 6f 6c 65 61 6e 09 |speed;..|Boolean.|
|00002720| 09 09 09 09 09 70 6f 72 | 74 49 73 54 61 6c 6b 65 |.....por|tIsTalke|
|00002730| 72 3b 0d 09 42 6f 6f 6c | 65 61 6e 09 09 09 09 09 |r;..Bool|ean.....|
|00002740| 09 74 72 69 61 6c 3b 0d | 09 4f 53 53 74 61 74 75 |.trial;.|.OSStatu|
|00002750| 73 09 09 09 09 09 73 74 | 61 74 75 73 20 3d 20 6e |s.....st|atus = n|
|00002760| 6f 45 72 72 3b 0d 0d 09 | 2f 2f 20 47 65 74 20 6f |oErr;...|// Get o|
|00002770| 75 72 20 64 72 69 76 65 | 72 20 64 61 74 61 2e 0d |ur drive|r data..|
|00002780| 09 70 46 57 41 56 43 44 | 72 69 76 65 72 44 61 74 |.pFWAVCD|riverDat|
|00002790| 61 20 3d 20 28 46 57 41 | 56 43 44 72 69 76 65 72 |a = (FWA|VCDriver|
|000027a0| 44 61 74 61 50 74 72 29 | 0d 09 09 70 49 6e 69 74 |DataPtr)|...pInit|
|000027b0| 49 73 6f 63 68 50 6f 72 | 74 50 61 72 61 6d 73 2d |IsochPor|tParams-|
|000027c0| 3e 66 77 43 6c 69 65 6e | 74 49 6e 74 65 72 66 61 |>fwClien|tInterfa|
|000027d0| 63 65 50 61 72 61 6d 73 | 2e 66 77 43 6c 69 65 6e |ceParams|.fwClien|
|000027e0| 74 53 70 65 63 69 66 69 | 63 44 61 74 61 3b 0d 0d |tSpecifi|cData;..|
|000027f0| 09 2f 2f 20 47 65 74 20 | 49 44 20 66 6f 72 20 74 |.// Get |ID for t|
|00002800| 68 69 73 20 63 68 61 6e | 6e 65 6c 2e 0d 09 69 73 |his chan|nel...is|
|00002810| 6f 63 68 43 68 61 6e 6e | 65 6c 49 44 20 3d 20 70 |ochChann|elID = p|
|00002820| 49 6e 69 74 49 73 6f 63 | 68 50 6f 72 74 50 61 72 |InitIsoc|hPortPar|
|00002830| 61 6d 73 2d 3e 66 77 43 | 6c 69 65 6e 74 49 73 6f |ams->fwC|lientIso|
|00002840| 63 68 50 6f 72 74 50 61 | 72 61 6d 73 2e 69 73 6f |chPortPa|rams.iso|
|00002850| 63 68 43 68 61 6e 6e 65 | 6c 49 44 3b 0d 0d 09 2f |chChanne|lID;.../|
|00002860| 2f 20 47 65 74 20 73 70 | 65 65 64 20 61 6e 64 20 |/ Get sp|eed and |
|00002870| 63 68 61 6e 6e 65 6c 20 | 6e 75 6d 62 65 72 2e 0d |channel |number..|
|00002880| 09 73 70 65 65 64 20 3d | 20 70 49 6e 69 74 49 73 |.speed =| pInitIs|
|00002890| 6f 63 68 50 6f 72 74 50 | 61 72 61 6d 73 2d 3e 73 |ochPortP|arams->s|
|000028a0| 70 65 65 64 3b 0d 09 63 | 68 61 6e 6e 65 6c 4e 75 |peed;..c|hannelNu|
|000028b0| 6d 20 3d 20 70 49 6e 69 | 74 49 73 6f 63 68 50 6f |m = pIni|tIsochPo|
|000028c0| 72 74 50 61 72 61 6d 73 | 2d 3e 63 68 61 6e 6e 65 |rtParams|->channe|
|000028d0| 6c 4e 75 6d 3b 0d 0d 09 | 2f 2f 20 49 73 20 74 68 |lNum;...|// Is th|
|000028e0| 69 73 20 72 65 71 75 65 | 73 74 20 66 6f 72 20 74 |is reque|st for t|
|000028f0| 68 65 20 74 61 6c 6b 69 | 6e 67 20 70 6f 72 74 3f |he talki|ng port?|
|00002900| 0d 09 70 6f 72 74 49 73 | 54 61 6c 6b 65 72 20 3d |..portIs|Talker =|
|00002910| 20 70 49 6e 69 74 49 73 | 6f 63 68 50 6f 72 74 50 | pInitIs|ochPortP|
|00002920| 61 72 61 6d 73 2d 3e 66 | 77 43 6c 69 65 6e 74 49 |arams->f|wClientI|
|00002930| 73 6f 63 68 50 6f 72 74 | 50 61 72 61 6d 73 2e 70 |sochPort|Params.p|
|00002940| 6f 72 74 49 73 54 61 6c | 6b 65 72 3b 0d 0d 09 2f |ortIsTal|ker;.../|
|00002950| 2f 20 49 73 20 74 68 69 | 73 20 61 20 74 72 69 61 |/ Is thi|s a tria|
|00002960| 6c 3f 0d 09 74 72 69 61 | 6c 20 3d 20 70 49 6e 69 |l?..tria|l = pIni|
|00002970| 74 49 73 6f 63 68 50 6f | 72 74 50 61 72 61 6d 73 |tIsochPo|rtParams|
|00002980| 2d 3e 74 72 69 61 6c 3b | 0d 0d 09 2f 2f 20 49 6e |->trial;|...// In|
|00002990| 69 74 69 61 6c 69 7a 65 | 2e 0d 09 69 66 20 28 69 |itialize|...if (i|
|000029a0| 73 6f 63 68 43 68 61 6e | 6e 65 6c 49 44 20 3d 3d |sochChan|nelID ==|
|000029b0| 20 70 46 57 41 56 43 44 | 72 69 76 65 72 44 61 74 | pFWAVCD|riverDat|
|000029c0| 61 2d 3e 72 65 63 6f 72 | 64 49 73 6f 63 68 43 68 |a->recor|dIsochCh|
|000029d0| 61 6e 6e 65 6c 49 44 29 | 0d 09 7b 0d 09 09 69 66 |annelID)|..{...if|
|000029e0| 20 28 70 6f 72 74 49 73 | 54 61 6c 6b 65 72 29 0d | (portIs|Talker).|
|000029f0| 09 09 7b 0d 09 09 09 2f | 2f 20 50 6f 72 74 20 69 |..{..../|/ Port i|
|00002a00| 73 20 66 6f 72 20 63 61 | 6d 65 72 61 2e 0d 09 09 |s for ca|mera....|
|00002a10| 09 69 66 20 28 21 74 72 | 69 61 6c 29 0d 09 09 09 |.if (!tr|ial)....|
|00002a20| 7b 0d 09 09 09 09 2f 2f | 20 43 68 65 63 6b 20 70 |{.....//| Check p|
|00002a30| 61 72 61 6d 73 2e 0d 09 | 09 09 09 2f 2f 7a 7a 7a |arams...|...//zzz|
|00002a40| 20 57 65 20 6f 6e 6c 79 | 20 64 6f 20 63 68 61 6e | We only| do chan|
|00002a50| 6e 65 6c 20 36 33 2e 0d | 09 09 09 09 69 66 20 28 |nel 63..|....if (|
|00002a60| 28 73 70 65 65 64 20 3e | 20 6b 46 57 53 70 65 65 |(speed >| kFWSpee|
|00002a70| 64 31 30 30 4d 42 69 74 | 29 20 7c 7c 20 28 63 68 |d100MBit|) || (ch|
|00002a80| 61 6e 6e 65 6c 4e 75 6d | 20 21 3d 20 36 33 29 29 |annelNum| != 63))|
|00002a90| 0d 09 09 09 09 09 73 74 | 61 74 75 73 20 3d 20 70 |......st|atus = p|
|00002aa0| 61 72 61 6d 45 72 72 3b | 0d 09 09 09 7d 0d 09 09 |aramErr;|....}...|
|00002ab0| 09 65 6c 73 65 0d 09 09 | 09 7b 0d 09 09 09 09 2f |.else...|.{...../|
|00002ac0| 2f 20 52 65 74 75 72 6e | 20 73 75 70 70 6f 72 74 |/ Return| support|
|00002ad0| 65 64 20 63 68 61 6e 6e | 65 6c 20 6e 75 6d 62 65 |ed chann|el numbe|
|00002ae0| 72 73 2e 0d 09 09 09 09 | 70 49 6e 69 74 49 73 6f |rs......|pInitIso|
|00002af0| 63 68 50 6f 72 74 50 61 | 72 61 6d 73 2d 3e 73 75 |chPortPa|rams->su|
|00002b00| 70 70 6f 72 74 65 64 43 | 68 61 6e 6e 65 6c 4e 75 |pportedC|hannelNu|
|00002b10| 6d 48 69 20 3d 20 30 78 | 30 30 30 30 30 30 30 30 |mHi = 0x|00000000|
|00002b20| 3b 0d 09 09 09 09 70 49 | 6e 69 74 49 73 6f 63 68 |;.....pI|nitIsoch|
|00002b30| 50 6f 72 74 50 61 72 61 | 6d 73 2d 3e 73 75 70 70 |PortPara|ms->supp|
|00002b40| 6f 72 74 65 64 43 68 61 | 6e 6e 65 6c 4e 75 6d 4c |ortedCha|nnelNumL|
|00002b50| 6f 20 3d 20 30 78 30 30 | 30 30 30 30 30 31 3b 0d |o = 0x00|000001;.|
|00002b60| 0d 09 09 09 09 2f 2f 20 | 52 65 74 75 72 6e 20 73 |.....// |Return s|
|00002b70| 75 70 70 6f 72 74 65 64 | 20 73 70 65 65 64 2e 0d |upported| speed..|
|00002b80| 09 09 09 09 69 66 20 28 | 73 70 65 65 64 20 3e 20 |....if (|speed > |
|00002b90| 6b 46 57 53 70 65 65 64 | 31 30 30 4d 42 69 74 29 |kFWSpeed|100MBit)|
|00002ba0| 0d 09 09 09 09 09 70 49 | 6e 69 74 49 73 6f 63 68 |......pI|nitIsoch|
|00002bb0| 50 6f 72 74 50 61 72 61 | 6d 73 2d 3e 73 70 65 65 |PortPara|ms->spee|
|00002bc0| 64 20 3d 20 6b 46 57 53 | 70 65 65 64 31 30 30 4d |d = kFWS|peed100M|
|00002bd0| 42 69 74 3b 0d 09 09 09 | 7d 0d 09 09 7d 0d 09 09 |Bit;....|}...}...|
|00002be0| 65 6c 73 65 0d 09 09 7b | 0d 09 09 09 2f 2f 20 50 |else...{|....// P|
|00002bf0| 6f 72 74 20 69 73 20 66 | 6f 72 20 6c 6f 63 61 6c |ort is f|or local|
|00002c00| 20 6e 6f 64 65 2e 0d 09 | 09 09 69 66 20 28 21 74 | node...|..if (!t|
|00002c10| 72 69 61 6c 29 0d 09 09 | 09 7b 0d 09 09 09 09 2f |rial)...|.{...../|
|00002c20| 2f 20 41 6c 6c 6f 63 61 | 74 65 20 61 6e 20 69 73 |/ Alloca|te an is|
|00002c30| 6f 63 68 20 70 6f 72 74 | 20 49 44 2e 0d 09 09 09 |och port| ID.....|
|00002c40| 09 73 74 61 74 75 73 20 | 3d 20 46 57 41 6c 6c 6f |.status |= FWAllo|
|00002c50| 63 61 74 65 49 73 6f 63 | 68 50 6f 72 74 49 44 20 |cateIsoc|hPortID |
|00002c60| 28 26 28 70 46 57 41 56 | 43 44 72 69 76 65 72 44 |(&(pFWAV|CDriverD|
|00002c70| 61 74 61 2d 3e 69 73 6f | 63 68 50 6f 72 74 49 44 |ata->iso|chPortID|
|00002c80| 29 2c 0d 09 09 09 09 09 | 09 09 09 09 09 09 09 70 |),......|.......p|
|00002c90| 46 57 41 56 43 44 72 69 | 76 65 72 44 61 74 61 2d |FWAVCDri|verData-|
|00002ca0| 3e 72 65 63 6f 72 64 44 | 43 4c 50 72 6f 67 72 61 |>recordD|CLProgra|
|00002cb0| 6d 49 44 2c 0d 09 09 09 | 09 09 09 09 09 09 09 09 |mID,....|........|
|00002cc0| 09 63 68 61 6e 6e 65 6c | 4e 75 6d 2c 0d 09 09 09 |.channel|Num,....|
|00002cd0| 09 09 09 09 09 09 09 09 | 09 73 70 65 65 64 2c 0d |........|.speed,.|
|00002ce0| 09 09 09 09 09 09 09 09 | 09 09 09 09 70 6f 72 74 |........|....port|
|00002cf0| 49 73 54 61 6c 6b 65 72 | 29 3b 0d 0d 09 09 09 09 |IsTalker|);......|
|00002d00| 2f 2f 20 53 65 6e 64 20 | 61 6e 20 61 6c 6c 6f 63 |// Send |an alloc|
|00002d10| 61 74 65 20 69 73 6f 63 | 68 20 70 6f 72 74 20 63 |ate isoc|h port c|
|00002d20| 6f 6d 6d 61 6e 64 20 74 | 6f 20 61 6c 6c 6f 63 61 |ommand t|o alloca|
|00002d30| 74 65 20 70 6f 72 74 20 | 66 6f 72 20 6c 69 73 74 |te port |for list|
|00002d40| 65 6e 69 6e 67 2e 0d 09 | 09 09 09 69 66 20 28 73 |ening...|...if (s|
|00002d50| 74 61 74 75 73 20 3d 3d | 20 6e 6f 45 72 72 29 0d |tatus ==| noErr).|
|00002d60| 09 09 09 09 7b 0d 09 09 | 09 09 09 2f 2f 20 53 65 |....{...|...// Se|
|00002d70| 74 20 75 70 20 63 6f 6d | 6d 61 6e 64 20 6f 62 6a |t up com|mand obj|
|00002d80| 65 63 74 2e 0d 09 09 09 | 09 09 69 73 6f 63 68 50 |ect.....|..isochP|
|00002d90| 6f 72 74 43 6f 6d 6d 61 | 6e 64 4f 62 6a 65 63 74 |ortComma|ndObject|
|00002da0| 49 44 20 3d 20 70 46 57 | 41 56 43 44 72 69 76 65 |ID = pFW|AVCDrive|
|00002db0| 72 44 61 74 61 2d 3e 69 | 73 6f 63 68 50 6f 72 74 |rData->i|sochPort|
|00002dc0| 43 6f 6d 6d 61 6e 64 4f | 62 6a 65 63 74 49 44 3b |CommandO|bjectID;|
|00002dd0| 0d 09 09 09 09 09 46 57 | 53 65 74 46 57 43 6f 6d |......FW|SetFWCom|
|00002de0| 6d 61 6e 64 50 61 72 61 | 6d 73 20 28 69 73 6f 63 |mandPara|ms (isoc|
|00002df0| 68 50 6f 72 74 43 6f 6d | 6d 61 6e 64 4f 62 6a 65 |hPortCom|mandObje|
|00002e00| 63 74 49 44 2c 0d 09 09 | 09 09 09 09 09 09 09 09 |ctID,...|........|
|00002e10| 20 20 28 46 57 52 65 66 | 65 72 65 6e 63 65 49 44 | (FWRef|erenceID|
|00002e20| 29 20 70 46 57 41 56 43 | 44 72 69 76 65 72 44 61 |) pFWAVC|DriverDa|
|00002e30| 74 61 2d 3e 66 77 44 72 | 69 76 65 72 49 44 2c 0d |ta->fwDr|iverID,.|
|00002e40| 09 09 09 09 09 09 09 09 | 09 09 20 20 6b 46 57 43 |........|.. kFWC|
|00002e50| 6f 6d 6d 61 6e 64 53 79 | 6e 63 46 6c 61 67 2c 0d |ommandSy|ncFlag,.|
|00002e60| 09 09 09 09 09 09 09 09 | 09 09 20 20 6e 69 6c 2c |........|.. nil,|
|00002e70| 0d 09 09 09 09 09 09 09 | 09 09 09 20 20 30 29 3b |........|... 0);|
|00002e80| 0d 09 09 09 09 09 46 57 | 53 65 74 49 73 6f 63 68 |......FW|SetIsoch|
|00002e90| 50 6f 72 74 43 6f 6d 6d | 61 6e 64 49 73 6f 63 68 |PortComm|andIsoch|
|00002ea0| 50 6f 72 74 49 44 20 28 | 69 73 6f 63 68 50 6f 72 |PortID (|isochPor|
|00002eb0| 74 43 6f 6d 6d 61 6e 64 | 4f 62 6a 65 63 74 49 44 |tCommand|ObjectID|
|00002ec0| 2c 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 20 |,.......|....... |
|00002ed0| 20 70 46 57 41 56 43 44 | 72 69 76 65 72 44 61 74 | pFWAVCD|riverDat|
|00002ee0| 61 2d 3e 69 73 6f 63 68 | 50 6f 72 74 49 44 29 3b |a->isoch|PortID);|
|00002ef0| 0d 0d 09 09 09 09 09 2f | 2f 20 53 65 6e 64 20 63 |......./|/ Send c|
|00002f00| 6f 6d 6d 61 6e 64 2e 0d | 09 09 09 09 09 73 74 61 |ommand..|.....sta|
|00002f10| 74 75 73 20 3d 20 46 57 | 41 6c 6c 6f 63 61 74 65 |tus = FW|Allocate|
|00002f20| 4c 6f 63 61 6c 49 73 6f | 63 68 72 6f 6e 6f 75 73 |LocalIso|chronous|
|00002f30| 50 6f 72 74 20 28 69 73 | 6f 63 68 50 6f 72 74 43 |Port (is|ochPortC|
|00002f40| 6f 6d 6d 61 6e 64 4f 62 | 6a 65 63 74 49 44 29 3b |ommandOb|jectID);|
|00002f50| 0d 09 09 09 09 7d 0d 09 | 09 09 7d 0d 09 09 09 65 |.....}..|..}....e|
|00002f60| 6c 73 65 0d 09 09 09 7b | 0d 09 09 09 09 2f 2f 20 |lse....{|.....// |
|00002f70| 52 65 74 75 72 6e 20 73 | 75 70 70 6f 72 74 65 64 |Return s|upported|
|00002f80| 20 63 68 61 6e 6e 65 6c | 20 6e 75 6d 62 65 72 73 | channel| numbers|
|00002f90| 2e 0d 09 09 09 09 70 49 | 6e 69 74 49 73 6f 63 68 |......pI|nitIsoch|
|00002fa0| 50 6f 72 74 50 61 72 61 | 6d 73 2d 3e 73 75 70 70 |PortPara|ms->supp|
|00002fb0| 6f 72 74 65 64 43 68 61 | 6e 6e 65 6c 4e 75 6d 48 |ortedCha|nnelNumH|
|00002fc0| 69 20 3d 20 30 78 30 30 | 30 30 30 30 30 30 3b 0d |i = 0x00|000000;.|
|00002fd0| 09 09 09 09 70 49 6e 69 | 74 49 73 6f 63 68 50 6f |....pIni|tIsochPo|
|00002fe0| 72 74 50 61 72 61 6d 73 | 2d 3e 73 75 70 70 6f 72 |rtParams|->suppor|
|00002ff0| 74 65 64 43 68 61 6e 6e | 65 6c 4e 75 6d 4c 6f 20 |tedChann|elNumLo |
|00003000| 3d 20 30 78 30 30 30 30 | 30 30 30 31 3b 0d 0d 09 |= 0x0000|0001;...|
|00003010| 09 09 09 2f 2f 20 52 65 | 74 75 72 6e 20 73 75 70 |...// Re|turn sup|
|00003020| 70 6f 72 74 65 64 20 73 | 70 65 65 64 2e 0d 09 09 |ported s|peed....|
|00003030| 09 09 69 66 20 28 73 70 | 65 65 64 20 3e 20 6b 46 |..if (sp|eed > kF|
|00003040| 57 53 70 65 65 64 31 30 | 30 4d 42 69 74 29 0d 09 |WSpeed10|0MBit)..|
|00003050| 09 09 09 09 70 49 6e 69 | 74 49 73 6f 63 68 50 6f |....pIni|tIsochPo|
|00003060| 72 74 50 61 72 61 6d 73 | 2d 3e 73 70 65 65 64 20 |rtParams|->speed |
|00003070| 3d 20 6b 46 57 53 70 65 | 65 64 31 30 30 4d 42 69 |= kFWSpe|ed100MBi|
|00003080| 74 3b 0d 09 09 09 7d 0d | 09 09 7d 0d 09 7d 0d 09 |t;....}.|..}..}..|
|00003090| 65 6c 73 65 0d 09 7b 0d | 09 09 69 66 20 28 70 6f |else..{.|..if (po|
|000030a0| 72 74 49 73 54 61 6c 6b | 65 72 29 0d 09 09 7b 0d |rtIsTalk|er)...{.|
|000030b0| 09 09 09 2f 2f 20 50 6f | 72 74 20 69 73 20 66 6f |...// Po|rt is fo|
|000030c0| 72 20 6c 6f 63 61 6c 20 | 6e 6f 64 65 2e 0d 09 09 |r local |node....|
|000030d0| 09 69 66 20 28 21 74 72 | 69 61 6c 29 0d 09 09 09 |.if (!tr|ial)....|
|000030e0| 7b 0d 09 09 09 09 2f 2f | 20 41 6c 6c 6f 63 61 74 |{.....//| Allocat|
|000030f0| 65 20 61 6e 20 69 73 6f | 63 68 20 70 6f 72 74 20 |e an iso|ch port |
|00003100| 49 44 2e 0d 09 09 09 09 | 73 74 61 74 75 73 20 3d |ID......|status =|
|00003110| 20 46 57 41 6c 6c 6f 63 | 61 74 65 49 73 6f 63 68 | FWAlloc|ateIsoch|
|00003120| 50 6f 72 74 49 44 20 28 | 26 28 70 46 57 41 56 43 |PortID (|&(pFWAVC|
|00003130| 44 72 69 76 65 72 44 61 | 74 61 2d 3e 69 73 6f 63 |DriverDa|ta->isoc|
|00003140| 68 50 6f 72 74 49 44 29 | 2c 0d 09 09 09 09 09 09 |hPortID)|,.......|
|00003150| 09 09 09 09 09 09 70 46 | 57 41 56 43 44 72 69 76 |......pF|WAVCDriv|
|00003160| 65 72 44 61 74 61 2d 3e | 70 6c 61 79 44 43 4c 50 |erData->|playDCLP|
|00003170| 72 6f 67 72 61 6d 49 44 | 2c 0d 09 09 09 09 09 09 |rogramID|,.......|
|00003180| 09 09 09 09 09 09 63 68 | 61 6e 6e 65 6c 4e 75 6d |......ch|annelNum|
|00003190| 2c 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 73 70 |,.......|......sp|
|000031a0| 65 65 64 2c 0d 09 09 09 | 09 09 09 09 09 09 09 09 |eed,....|........|
|000031b0| 09 70 6f 72 74 49 73 54 | 61 6c 6b 65 72 29 3b 0d |.portIsT|alker);.|
|000031c0| 0d 09 09 09 09 2f 2f 20 | 53 65 6e 64 20 61 6e 20 |.....// |Send an |
|000031d0| 61 6c 6c 6f 63 61 74 65 | 20 69 73 6f 63 68 20 70 |allocate| isoch p|
|000031e0| 6f 72 74 20 63 6f 6d 6d | 61 6e 64 20 74 6f 20 61 |ort comm|and to a|
|000031f0| 6c 6c 6f 63 61 74 65 20 | 70 6f 72 74 20 66 6f 72 |llocate |port for|
|00003200| 20 74 61 6c 6b 69 6e 67 | 2e 0d 09 09 09 09 69 66 | talking|......if|
|00003210| 20 28 73 74 61 74 75 73 | 20 3d 3d 20 6e 6f 45 72 | (status| == noEr|
|00003220| 72 29 0d 09 09 09 09 7b | 0d 09 09 09 09 09 2f 2f |r).....{|......//|
|00003230| 20 53 65 74 20 75 70 20 | 63 6f 6d 6d 61 6e 64 20 | Set up |command |
|00003240| 6f 62 6a 65 63 74 2e 0d | 09 09 09 09 09 69 73 6f |object..|.....iso|
|00003250| 63 68 50 6f 72 74 43 6f | 6d 6d 61 6e 64 4f 62 6a |chPortCo|mmandObj|
|00003260| 65 63 74 49 44 20 3d 20 | 70 46 57 41 56 43 44 72 |ectID = |pFWAVCDr|
|00003270| 69 76 65 72 44 61 74 61 | 2d 3e 69 73 6f 63 68 50 |iverData|->isochP|
|00003280| 6f 72 74 43 6f 6d 6d 61 | 6e 64 4f 62 6a 65 63 74 |ortComma|ndObject|
|00003290| 49 44 3b 0d 09 09 09 09 | 09 46 57 53 65 74 46 57 |ID;.....|.FWSetFW|
|000032a0| 43 6f 6d 6d 61 6e 64 50 | 61 72 61 6d 73 20 28 69 |CommandP|arams (i|
|000032b0| 73 6f 63 68 50 6f 72 74 | 43 6f 6d 6d 61 6e 64 4f |sochPort|CommandO|
|000032c0| 62 6a 65 63 74 49 44 2c | 0d 09 09 09 09 09 09 09 |bjectID,|........|
|000032d0| 09 09 09 20 20 28 46 57 | 52 65 66 65 72 65 6e 63 |... (FW|Referenc|
|000032e0| 65 49 44 29 20 70 46 57 | 41 56 43 44 72 69 76 65 |eID) pFW|AVCDrive|
|000032f0| 72 44 61 74 61 2d 3e 66 | 77 44 72 69 76 65 72 49 |rData->f|wDriverI|
|00003300| 44 2c 0d 09 09 09 09 09 | 09 09 09 09 09 20 20 6b |D,......|..... k|
|00003310| 46 57 43 6f 6d 6d 61 6e | 64 53 79 6e 63 46 6c 61 |FWComman|dSyncFla|
|00003320| 67 2c 0d 09 09 09 09 09 | 09 09 09 09 09 20 20 6e |g,......|..... n|
|00003330| 69 6c 2c 0d 09 09 09 09 | 09 09 09 09 09 09 20 20 |il,.....|...... |
|00003340| 30 29 3b 0d 09 09 09 09 | 09 46 57 53 65 74 49 73 |0);.....|.FWSetIs|
|00003350| 6f 63 68 50 6f 72 74 43 | 6f 6d 6d 61 6e 64 49 73 |ochPortC|ommandIs|
|00003360| 6f 63 68 50 6f 72 74 49 | 44 20 28 69 73 6f 63 68 |ochPortI|D (isoch|
|00003370| 50 6f 72 74 43 6f 6d 6d | 61 6e 64 4f 62 6a 65 63 |PortComm|andObjec|
|00003380| 74 49 44 2c 0d 09 09 09 | 09 09 09 09 09 09 09 09 |tID,....|........|
|00003390| 09 09 20 20 70 46 57 41 | 56 43 44 72 69 76 65 72 |.. pFWA|VCDriver|
|000033a0| 44 61 74 61 2d 3e 69 73 | 6f 63 68 50 6f 72 74 49 |Data->is|ochPortI|
|000033b0| 44 29 3b 0d 0d 09 09 09 | 09 09 2f 2f 20 53 65 6e |D);.....|..// Sen|
|000033c0| 64 20 63 6f 6d 6d 61 6e | 64 2e 0d 09 09 09 09 09 |d comman|d.......|
|000033d0| 73 74 61 74 75 73 20 3d | 20 46 57 41 6c 6c 6f 63 |status =| FWAlloc|
|000033e0| 61 74 65 4c 6f 63 61 6c | 49 73 6f 63 68 72 6f 6e |ateLocal|Isochron|
|000033f0| 6f 75 73 50 6f 72 74 20 | 28 69 73 6f 63 68 50 6f |ousPort |(isochPo|
|00003400| 72 74 43 6f 6d 6d 61 6e | 64 4f 62 6a 65 63 74 49 |rtComman|dObjectI|
|00003410| 44 29 3b 0d 09 09 09 09 | 7d 0d 09 09 09 7d 0d 09 |D);.....|}....}..|
|00003420| 09 09 65 6c 73 65 0d 09 | 09 09 7b 0d 09 09 09 09 |..else..|..{.....|
|00003430| 2f 2f 20 52 65 74 75 72 | 6e 20 73 75 70 70 6f 72 |// Retur|n suppor|
|00003440| 74 65 64 20 63 68 61 6e | 6e 65 6c 20 6e 75 6d 62 |ted chan|nel numb|
|00003450| 65 72 73 2e 0d 09 09 09 | 09 70 49 6e 69 74 49 73 |ers.....|.pInitIs|
|00003460| 6f 63 68 50 6f 72 74 50 | 61 72 61 6d 73 2d 3e 73 |ochPortP|arams->s|
|00003470| 75 70 70 6f 72 74 65 64 | 43 68 61 6e 6e 65 6c 4e |upported|ChannelN|
|00003480| 75 6d 48 69 20 3d 20 30 | 78 30 30 30 30 30 30 30 |umHi = 0|x0000000|
|00003490| 30 3b 0d 09 09 09 09 70 | 49 6e 69 74 49 73 6f 63 |0;.....p|InitIsoc|
|000034a0| 68 50 6f 72 74 50 61 72 | 61 6d 73 2d 3e 73 75 70 |hPortPar|ams->sup|
|000034b0| 70 6f 72 74 65 64 43 68 | 61 6e 6e 65 6c 4e 75 6d |portedCh|annelNum|
|000034c0| 4c 6f 20 3d 20 30 78 30 | 30 30 30 30 30 30 31 3b |Lo = 0x0|0000001;|
|000034d0| 0d 0d 09 09 09 09 2f 2f | 20 52 65 74 75 72 6e 20 |......//| Return |
|000034e0| 73 75 70 70 6f 72 74 65 | 64 20 73 70 65 65 64 2e |supporte|d speed.|
|000034f0| 0d 09 09 09 09 69 66 20 | 28 73 70 65 65 64 20 3e |.....if |(speed >|
|00003500| 20 6b 46 57 53 70 65 65 | 64 31 30 30 4d 42 69 74 | kFWSpee|d100MBit|
|00003510| 29 0d 09 09 09 09 09 70 | 49 6e 69 74 49 73 6f 63 |)......p|InitIsoc|
|00003520| 68 50 6f 72 74 50 61 72 | 61 6d 73 2d 3e 73 70 65 |hPortPar|ams->spe|
|00003530| 65 64 20 3d 20 6b 46 57 | 53 70 65 65 64 31 30 30 |ed = kFW|Speed100|
|00003540| 4d 42 69 74 3b 0d 09 09 | 09 7d 0d 09 09 7d 0d 09 |MBit;...|.}...}..|
|00003550| 09 65 6c 73 65 0d 09 09 | 7b 0d 09 09 09 2f 2f 20 |.else...|{....// |
|00003560| 50 6f 72 74 20 69 73 20 | 66 6f 72 20 63 61 6d 65 |Port is |for came|
|00003570| 72 61 2e 0d 09 09 09 69 | 66 20 28 21 74 72 69 61 |ra.....i|f (!tria|
|00003580| 6c 29 0d 09 09 09 7b 0d | 09 09 09 09 2f 2f 20 43 |l)....{.|....// C|
|00003590| 68 65 63 6b 20 70 61 72 | 61 6d 73 2e 0d 09 09 09 |heck par|ams.....|
|000035a0| 09 2f 2f 7a 7a 7a 20 57 | 65 20 6f 6e 6c 79 20 64 |.//zzz W|e only d|
|000035b0| 6f 20 63 68 61 6e 6e 65 | 6c 20 36 33 2e 0d 09 09 |o channe|l 63....|
|000035c0| 09 09 69 66 20 28 28 73 | 70 65 65 64 20 3e 20 6b |..if ((s|peed > k|
|000035d0| 46 57 53 70 65 65 64 31 | 30 30 4d 42 69 74 29 20 |FWSpeed1|00MBit) |
|000035e0| 7c 7c 20 28 63 68 61 6e | 6e 65 6c 4e 75 6d 20 21 ||| (chan|nelNum !|
|000035f0| 3d 20 36 33 29 29 0d 09 | 09 09 09 09 73 74 61 74 |= 63))..|....stat|
|00003600| 75 73 20 3d 20 70 61 72 | 61 6d 45 72 72 3b 0d 09 |us = par|amErr;..|
|00003610| 09 09 7d 0d 09 09 09 65 | 6c 73 65 0d 09 09 09 7b |..}....e|lse....{|
|00003620| 0d 09 09 09 09 2f 2f 20 | 52 65 74 75 72 6e 20 73 |.....// |Return s|
|00003630| 75 70 70 6f 72 74 65 64 | 20 63 68 61 6e 6e 65 6c |upported| channel|
|00003640| 20 6e 75 6d 62 65 72 73 | 2e 0d 09 09 09 09 70 49 | numbers|......pI|
|00003650| 6e 69 74 49 73 6f 63 68 | 50 6f 72 74 50 61 72 61 |nitIsoch|PortPara|
|00003660| 6d 73 2d 3e 73 75 70 70 | 6f 72 74 65 64 43 68 61 |ms->supp|ortedCha|
|00003670| 6e 6e 65 6c 4e 75 6d 48 | 69 20 3d 20 30 78 30 30 |nnelNumH|i = 0x00|
|00003680| 30 30 30 30 30 30 3b 0d | 09 09 09 09 70 49 6e 69 |000000;.|....pIni|
|00003690| 74 49 73 6f 63 68 50 6f | 72 74 50 61 72 61 6d 73 |tIsochPo|rtParams|
|000036a0| 2d 3e 73 75 70 70 6f 72 | 74 65 64 43 68 61 6e 6e |->suppor|tedChann|
|000036b0| 65 6c 4e 75 6d 4c 6f 20 | 3d 20 30 78 30 30 30 30 |elNumLo |= 0x0000|
|000036c0| 30 30 30 31 3b 0d 0d 09 | 09 09 09 2f 2f 20 52 65 |0001;...|...// Re|
|000036d0| 74 75 72 6e 20 73 75 70 | 70 6f 72 74 65 64 20 73 |turn sup|ported s|
|000036e0| 70 65 65 64 2e 0d 09 09 | 09 09 69 66 20 28 73 70 |peed....|..if (sp|
|000036f0| 65 65 64 20 3e 20 6b 46 | 57 53 70 65 65 64 31 30 |eed > kF|WSpeed10|
|00003700| 30 4d 42 69 74 29 0d 09 | 09 09 09 09 70 49 6e 69 |0MBit)..|....pIni|
|00003710| 74 49 73 6f 63 68 50 6f | 72 74 50 61 72 61 6d 73 |tIsochPo|rtParams|
|00003720| 2d 3e 73 70 65 65 64 20 | 3d 20 6b 46 57 53 70 65 |->speed |= kFWSpe|
|00003730| 65 64 31 30 30 4d 42 69 | 74 3b 0d 09 09 09 7d 0d |ed100MBi|t;....}.|
|00003740| 09 09 7d 0d 09 7d 0d 0d | 09 2f 2f 20 43 6f 6d 70 |..}..}..|.// Comp|
|00003750| 6c 65 74 65 20 46 69 72 | 65 57 69 72 65 20 63 6c |lete Fir|eWire cl|
|00003760| 69 65 6e 74 20 63 6f 6d | 6d 61 6e 64 2e 0d 09 46 |ient com|mand...F|
|00003770| 57 43 6c 69 65 6e 74 43 | 6f 6d 6d 61 6e 64 49 73 |WClientC|ommandIs|
|00003780| 43 6f 6d 70 6c 65 74 65 | 0d 09 09 28 70 49 6e 69 |Complete|...(pIni|
|00003790| 74 49 73 6f 63 68 50 6f | 72 74 50 61 72 61 6d 73 |tIsochPo|rtParams|
|000037a0| 2d 3e 66 77 43 6c 69 65 | 6e 74 49 6e 74 65 72 66 |->fwClie|ntInterf|
|000037b0| 61 63 65 50 61 72 61 6d | 73 2e 66 77 43 6c 69 65 |aceParam|s.fwClie|
|000037c0| 6e 74 43 6f 6d 6d 61 6e | 64 49 44 2c 20 73 74 61 |ntComman|dID, sta|
|000037d0| 74 75 73 29 3b 0d 0d 09 | 2f 2f 20 52 65 74 75 72 |tus);...|// Retur|
|000037e0| 6e 20 63 6f 6d 6d 61 6e | 64 20 61 63 63 65 70 74 |n comman|d accept|
|000037f0| 61 6e 63 65 2e 0d 09 2f | 2f 7a 7a 7a 20 69 73 20 |ance.../|/zzz is |
|00003800| 74 68 69 73 20 74 68 65 | 20 72 69 67 68 74 20 77 |this the| right w|
|00003810| 61 79 3f 20 20 49 66 20 | 77 65 27 76 65 20 63 6f |ay? If |we've co|
|00003820| 6d 70 6c 65 74 65 64 20 | 74 68 65 20 63 6f 6d 6d |mpleted |the comm|
|00003830| 61 6e 64 2c 20 77 65 20 | 63 61 6e 20 61 63 63 65 |and, we |can acce|
|00003840| 70 74 20 6d 6f 72 65 2e | 0d 09 2a 70 43 6f 6d 6d |pt more.|..*pComm|
|00003850| 61 6e 64 41 63 63 65 70 | 74 61 6e 63 65 20 3d 20 |andAccep|tance = |
|00003860| 6b 46 57 43 6c 69 65 6e | 74 43 6f 6d 6d 61 6e 64 |kFWClien|tCommand|
|00003870| 41 63 63 65 70 74 4e 6f | 4d 6f 72 65 3b 0d 0d 09 |AcceptNo|More;...|
|00003880| 72 65 74 75 72 6e 20 28 | 73 74 61 74 75 73 29 3b |return (|status);|
|00003890| 0d 7d 0d 0d 0d 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |.}...///|////////|
|000038a0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000038b0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000038c0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000038d0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000038e0| 2f 2f 2f 2f 2f 0d 2f 2f | 0d 2f 2f 20 46 57 41 56 |/////.//|.// FWAV|
|000038f0| 43 52 65 6c 65 61 73 65 | 49 73 6f 63 68 50 6f 72 |CRelease|IsochPor|
|00003900| 74 0d 2f 2f 0d 2f 2f 20 | 20 20 54 68 69 73 20 70 |t.//.// | This p|
|00003910| 72 6f 63 65 64 75 72 65 | 20 72 65 6c 65 61 73 65 |rocedure| release|
|00003920| 73 20 72 65 73 6f 75 72 | 63 65 73 20 61 6c 6c 6f |s resour|ces allo|
|00003930| 63 61 74 65 64 20 66 6f | 72 20 74 68 65 20 69 73 |cated fo|r the is|
|00003940| 6f 63 68 72 6f 6e 6f 75 | 73 20 63 68 61 6e 6e 65 |ochronou|s channe|
|00003950| 6c 2e 0d 2f 2f 20 49 66 | 20 74 68 65 20 63 68 61 |l..// If| the cha|
|00003960| 6e 6e 65 6c 20 69 73 20 | 61 20 6c 69 73 74 65 6e |nnel is |a listen|
|00003970| 65 72 2c 20 74 68 69 73 | 20 72 6f 75 74 69 6e 65 |er, this| routine|
|00003980| 20 77 69 6c 6c 20 72 65 | 6c 65 61 73 65 20 74 68 | will re|lease th|
|00003990| 65 20 6c 6f 63 61 6c 0d | 2f 2f 20 69 73 6f 63 68 |e local.|// isoch|
|000039a0| 72 6f 6e 6f 75 73 20 70 | 6f 72 74 2e 0d 2f 2f 0d |ronous p|ort..//.|
|000039b0| 0d 73 74 61 74 69 63 20 | 4f 53 53 74 61 74 75 73 |.static |OSStatus|
|000039c0| 09 46 57 41 56 43 52 65 | 6c 65 61 73 65 49 73 6f |.FWAVCRe|leaseIso|
|000039d0| 63 68 50 6f 72 74 28 0d | 09 46 57 43 6c 69 65 6e |chPort(.|.FWClien|
|000039e0| 74 52 65 6c 65 61 73 65 | 49 73 6f 63 68 50 6f 72 |tRelease|IsochPor|
|000039f0| 74 50 61 72 61 6d 73 50 | 74 72 0d 09 09 09 09 09 |tParamsP|tr......|
|00003a00| 09 09 09 70 52 65 6c 65 | 61 73 65 49 73 6f 63 68 |...pRele|aseIsoch|
|00003a10| 50 6f 72 74 50 61 72 61 | 6d 73 2c 0d 09 55 49 6e |PortPara|ms,..UIn|
|00003a20| 74 33 32 09 09 09 09 09 | 09 2a 70 43 6f 6d 6d 61 |t32.....|.*pComma|
|00003a30| 6e 64 41 63 63 65 70 74 | 61 6e 63 65 29 0d 7b 0d |ndAccept|ance).{.|
|00003a40| 09 46 57 41 56 43 44 72 | 69 76 65 72 44 61 74 61 |.FWAVCDr|iverData|
|00003a50| 50 74 72 09 09 09 70 46 | 57 41 56 43 44 72 69 76 |Ptr...pF|WAVCDriv|
|00003a60| 65 72 44 61 74 61 3b 0d | 09 46 57 43 6f 6d 6d 61 |erData;.|.FWComma|
|00003a70| 6e 64 4f 62 6a 65 63 74 | 49 44 09 09 09 69 73 6f |ndObject|ID...iso|
|00003a80| 63 68 50 6f 72 74 43 6f | 6d 6d 61 6e 64 4f 62 6a |chPortCo|mmandObj|
|00003a90| 65 63 74 49 44 3b 0d 09 | 49 73 6f 63 68 43 68 61 |ectID;..|IsochCha|
|00003aa0| 6e 6e 65 6c 49 44 09 09 | 09 09 69 73 6f 63 68 43 |nnelID..|..isochC|
|00003ab0| 68 61 6e 6e 65 6c 49 44 | 3b 0d 09 42 6f 6f 6c 65 |hannelID|;..Boole|
|00003ac0| 61 6e 09 09 09 09 09 09 | 70 6f 72 74 49 73 54 61 |an......|portIsTa|
|00003ad0| 6c 6b 65 72 3b 0d 09 4f | 53 53 74 61 74 75 73 09 |lker;..O|SStatus.|
|00003ae0| 09 09 09 09 73 74 61 74 | 75 73 20 3d 20 6e 6f 45 |....stat|us = noE|
|00003af0| 72 72 3b 0d 0d 09 2f 2f | 20 47 65 74 20 6f 75 72 |rr;...//| Get our|
|00003b00| 20 64 72 69 76 65 72 20 | 64 61 74 61 2e 0d 09 70 | driver |data...p|
|00003b10| 46 57 41 56 43 44 72 69 | 76 65 72 44 61 74 61 20 |FWAVCDri|verData |
|00003b20| 3d 20 28 46 57 41 56 43 | 44 72 69 76 65 72 44 61 |= (FWAVC|DriverDa|
|00003b30| 74 61 50 74 72 29 0d 09 | 09 70 52 65 6c 65 61 73 |taPtr)..|.pReleas|
|00003b40| 65 49 73 6f 63 68 50 6f | 72 74 50 61 72 61 6d 73 |eIsochPo|rtParams|
|00003b50| 2d 3e 66 77 43 6c 69 65 | 6e 74 49 6e 74 65 72 66 |->fwClie|ntInterf|
|00003b60| 61 63 65 50 61 72 61 6d | 73 2e 66 77 43 6c 69 65 |aceParam|s.fwClie|
|00003b70| 6e 74 53 70 65 63 69 66 | 69 63 44 61 74 61 3b 0d |ntSpecif|icData;.|
|00003b80| 0d 09 2f 2f 20 47 65 74 | 20 49 44 20 66 6f 72 20 |..// Get| ID for |
|00003b90| 74 68 69 73 20 63 68 61 | 6e 6e 65 6c 2e 0d 09 69 |this cha|nnel...i|
|00003ba0| 73 6f 63 68 43 68 61 6e | 6e 65 6c 49 44 20 3d 20 |sochChan|nelID = |
|00003bb0| 70 52 65 6c 65 61 73 65 | 49 73 6f 63 68 50 6f 72 |pRelease|IsochPor|
|00003bc0| 74 50 61 72 61 6d 73 2d | 3e 66 77 43 6c 69 65 6e |tParams-|>fwClien|
|00003bd0| 74 49 73 6f 63 68 50 6f | 72 74 50 61 72 61 6d 73 |tIsochPo|rtParams|
|00003be0| 2e 69 73 6f 63 68 43 68 | 61 6e 6e 65 6c 49 44 3b |.isochCh|annelID;|
|00003bf0| 0d 0d 09 2f 2f 20 49 73 | 20 74 68 69 73 20 72 65 |...// Is| this re|
|00003c00| 71 75 65 73 74 20 66 6f | 72 20 74 68 65 20 74 61 |quest fo|r the ta|
|00003c10| 6c 6b 69 6e 67 20 70 6f | 72 74 3f 0d 09 70 6f 72 |lking po|rt?..por|
|00003c20| 74 49 73 54 61 6c 6b 65 | 72 20 3d 20 70 52 65 6c |tIsTalke|r = pRel|
|00003c30| 65 61 73 65 49 73 6f 63 | 68 50 6f 72 74 50 61 72 |easeIsoc|hPortPar|
|00003c40| 61 6d 73 2d 3e 66 77 43 | 6c 69 65 6e 74 49 73 6f |ams->fwC|lientIso|
|00003c50| 63 68 50 6f 72 74 50 61 | 72 61 6d 73 2e 70 6f 72 |chPortPa|rams.por|
|00003c60| 74 49 73 54 61 6c 6b 65 | 72 3b 0d 0d 09 69 66 20 |tIsTalke|r;...if |
|00003c70| 28 69 73 6f 63 68 43 68 | 61 6e 6e 65 6c 49 44 20 |(isochCh|annelID |
|00003c80| 3d 3d 20 70 46 57 41 56 | 43 44 72 69 76 65 72 44 |== pFWAV|CDriverD|
|00003c90| 61 74 61 2d 3e 72 65 63 | 6f 72 64 49 73 6f 63 68 |ata->rec|ordIsoch|
|00003ca0| 43 68 61 6e 6e 65 6c 49 | 44 29 0d 09 7b 0d 09 09 |ChannelI|D)..{...|
|00003cb0| 69 66 20 28 21 70 6f 72 | 74 49 73 54 61 6c 6b 65 |if (!por|tIsTalke|
|00003cc0| 72 29 0d 09 09 7b 0d 09 | 09 09 2f 2f 20 53 65 74 |r)...{..|..// Set|
|00003cd0| 20 75 70 20 63 6f 6d 6d | 61 6e 64 20 6f 62 6a 65 | up comm|and obje|
|00003ce0| 63 74 20 74 6f 20 72 65 | 6c 65 61 73 65 20 70 6f |ct to re|lease po|
|00003cf0| 72 74 2e 0d 09 09 09 69 | 73 6f 63 68 50 6f 72 74 |rt.....i|sochPort|
|00003d00| 43 6f 6d 6d 61 6e 64 4f | 62 6a 65 63 74 49 44 20 |CommandO|bjectID |
|00003d10| 3d 20 70 46 57 41 56 43 | 44 72 69 76 65 72 44 61 |= pFWAVC|DriverDa|
|00003d20| 74 61 2d 3e 69 73 6f 63 | 68 50 6f 72 74 43 6f 6d |ta->isoc|hPortCom|
|00003d30| 6d 61 6e 64 4f 62 6a 65 | 63 74 49 44 3b 0d 09 09 |mandObje|ctID;...|
|00003d40| 09 46 57 53 65 74 46 57 | 43 6f 6d 6d 61 6e 64 50 |.FWSetFW|CommandP|
|00003d50| 61 72 61 6d 73 20 28 69 | 73 6f 63 68 50 6f 72 74 |arams (i|sochPort|
|00003d60| 43 6f 6d 6d 61 6e 64 4f | 62 6a 65 63 74 49 44 2c |CommandO|bjectID,|
|00003d70| 0d 09 09 09 09 09 09 09 | 09 20 20 28 46 57 52 65 |........|. (FWRe|
|00003d80| 66 65 72 65 6e 63 65 49 | 44 29 20 70 46 57 41 56 |ferenceI|D) pFWAV|
|00003d90| 43 44 72 69 76 65 72 44 | 61 74 61 2d 3e 66 77 44 |CDriverD|ata->fwD|
|00003da0| 72 69 76 65 72 49 44 2c | 0d 09 09 09 09 09 09 09 |riverID,|........|
|00003db0| 09 20 20 6b 46 57 43 6f | 6d 6d 61 6e 64 53 79 6e |. kFWCo|mmandSyn|
|00003dc0| 63 46 6c 61 67 2c 0d 09 | 09 09 09 09 09 09 09 20 |cFlag,..|....... |
|00003dd0| 20 6e 69 6c 2c 0d 09 09 | 09 09 09 09 09 09 20 20 | nil,...|...... |
|00003de0| 30 29 3b 0d 09 09 09 46 | 57 53 65 74 49 73 6f 63 |0);....F|WSetIsoc|
|00003df0| 68 50 6f 72 74 43 6f 6d | 6d 61 6e 64 49 73 6f 63 |hPortCom|mandIsoc|
|00003e00| 68 50 6f 72 74 49 44 20 | 28 69 73 6f 63 68 50 6f |hPortID |(isochPo|
|00003e10| 72 74 43 6f 6d 6d 61 6e | 64 4f 62 6a 65 63 74 49 |rtComman|dObjectI|
|00003e20| 44 2c 0d 09 09 09 09 09 | 09 09 09 09 09 09 20 20 |D,......|...... |
|00003e30| 70 46 57 41 56 43 44 72 | 69 76 65 72 44 61 74 61 |pFWAVCDr|iverData|
|00003e40| 2d 3e 69 73 6f 63 68 50 | 6f 72 74 49 44 29 3b 0d |->isochP|ortID);.|
|00003e50| 0d 09 09 09 2f 2f 20 53 | 65 6e 64 20 63 6f 6d 6d |....// S|end comm|
|00003e60| 61 6e 64 2e 0d 09 09 09 | 46 57 52 65 6c 65 61 73 |and.....|FWReleas|
|00003e70| 65 4c 6f 63 61 6c 49 73 | 6f 63 68 72 6f 6e 6f 75 |eLocalIs|ochronou|
|00003e80| 73 50 6f 72 74 20 28 69 | 73 6f 63 68 50 6f 72 74 |sPort (i|sochPort|
|00003e90| 43 6f 6d 6d 61 6e 64 4f | 62 6a 65 63 74 49 44 29 |CommandO|bjectID)|
|00003ea0| 3b 0d 0d 09 09 09 2f 2f | 20 44 65 61 6c 6c 6f 63 |;.....//| Dealloc|
|00003eb0| 61 74 65 20 69 73 6f 63 | 68 20 70 6f 72 74 20 49 |ate isoc|h port I|
|00003ec0| 44 2e 0d 09 09 09 46 57 | 44 65 61 6c 6c 6f 63 61 |D.....FW|Dealloca|
|00003ed0| 74 65 49 73 6f 63 68 50 | 6f 72 74 49 44 20 28 70 |teIsochP|ortID (p|
|00003ee0| 46 57 41 56 43 44 72 69 | 76 65 72 44 61 74 61 2d |FWAVCDri|verData-|
|00003ef0| 3e 69 73 6f 63 68 50 6f | 72 74 49 44 29 3b 0d 09 |>isochPo|rtID);..|
|00003f00| 09 7d 0d 09 7d 0d 09 65 | 6c 73 65 0d 09 7b 0d 09 |.}..}..e|lse..{..|
|00003f10| 09 69 66 20 28 70 6f 72 | 74 49 73 54 61 6c 6b 65 |.if (por|tIsTalke|
|00003f20| 72 29 0d 09 09 7b 0d 09 | 09 09 2f 2f 20 53 65 74 |r)...{..|..// Set|
|00003f30| 20 75 70 20 63 6f 6d 6d | 61 6e 64 20 6f 62 6a 65 | up comm|and obje|
|00003f40| 63 74 20 74 6f 20 72 65 | 6c 65 61 73 65 20 70 6f |ct to re|lease po|
|00003f50| 72 74 2e 0d 09 09 09 69 | 73 6f 63 68 50 6f 72 74 |rt.....i|sochPort|
|00003f60| 43 6f 6d 6d 61 6e 64 4f | 62 6a 65 63 74 49 44 20 |CommandO|bjectID |
|00003f70| 3d 20 70 46 57 41 56 43 | 44 72 69 76 65 72 44 61 |= pFWAVC|DriverDa|
|00003f80| 74 61 2d 3e 69 73 6f 63 | 68 50 6f 72 74 43 6f 6d |ta->isoc|hPortCom|
|00003f90| 6d 61 6e 64 4f 62 6a 65 | 63 74 49 44 3b 0d 09 09 |mandObje|ctID;...|
|00003fa0| 09 46 57 53 65 74 46 57 | 43 6f 6d 6d 61 6e 64 50 |.FWSetFW|CommandP|
|00003fb0| 61 72 61 6d 73 20 28 69 | 73 6f 63 68 50 6f 72 74 |arams (i|sochPort|
|00003fc0| 43 6f 6d 6d 61 6e 64 4f | 62 6a 65 63 74 49 44 2c |CommandO|bjectID,|
|00003fd0| 0d 09 09 09 09 09 09 09 | 09 20 20 28 46 57 52 65 |........|. (FWRe|
|00003fe0| 66 65 72 65 6e 63 65 49 | 44 29 20 70 46 57 41 56 |ferenceI|D) pFWAV|
|00003ff0| 43 44 72 69 76 65 72 44 | 61 74 61 2d 3e 66 77 44 |CDriverD|ata->fwD|
|00004000| 72 69 76 65 72 49 44 2c | 0d 09 09 09 09 09 09 09 |riverID,|........|
|00004010| 09 20 20 6b 46 57 43 6f | 6d 6d 61 6e 64 53 79 6e |. kFWCo|mmandSyn|
|00004020| 63 46 6c 61 67 2c 0d 09 | 09 09 09 09 09 09 09 20 |cFlag,..|....... |
|00004030| 20 6e 69 6c 2c 0d 09 09 | 09 09 09 09 09 09 20 20 | nil,...|...... |
|00004040| 30 29 3b 0d 09 09 09 46 | 57 53 65 74 49 73 6f 63 |0);....F|WSetIsoc|
|00004050| 68 50 6f 72 74 43 6f 6d | 6d 61 6e 64 49 73 6f 63 |hPortCom|mandIsoc|
|00004060| 68 50 6f 72 74 49 44 20 | 28 69 73 6f 63 68 50 6f |hPortID |(isochPo|
|00004070| 72 74 43 6f 6d 6d 61 6e | 64 4f 62 6a 65 63 74 49 |rtComman|dObjectI|
|00004080| 44 2c 0d 09 09 09 09 09 | 09 09 09 09 09 09 20 20 |D,......|...... |
|00004090| 70 46 57 41 56 43 44 72 | 69 76 65 72 44 61 74 61 |pFWAVCDr|iverData|
|000040a0| 2d 3e 69 73 6f 63 68 50 | 6f 72 74 49 44 29 3b 0d |->isochP|ortID);.|
|000040b0| 0d 09 09 09 2f 2f 20 53 | 65 6e 64 20 63 6f 6d 6d |....// S|end comm|
|000040c0| 61 6e 64 2e 0d 09 09 09 | 46 57 52 65 6c 65 61 73 |and.....|FWReleas|
|000040d0| 65 4c 6f 63 61 6c 49 73 | 6f 63 68 72 6f 6e 6f 75 |eLocalIs|ochronou|
|000040e0| 73 50 6f 72 74 20 28 69 | 73 6f 63 68 50 6f 72 74 |sPort (i|sochPort|
|000040f0| 43 6f 6d 6d 61 6e 64 4f | 62 6a 65 63 74 49 44 29 |CommandO|bjectID)|
|00004100| 3b 0d 0d 09 09 09 2f 2f | 20 44 65 61 6c 6c 6f 63 |;.....//| Dealloc|
|00004110| 61 74 65 20 69 73 6f 63 | 68 20 70 6f 72 74 20 49 |ate isoc|h port I|
|00004120| 44 2e 0d 09 09 09 46 57 | 44 65 61 6c 6c 6f 63 61 |D.....FW|Dealloca|
|00004130| 74 65 49 73 6f 63 68 50 | 6f 72 74 49 44 20 28 70 |teIsochP|ortID (p|
|00004140| 46 57 41 56 43 44 72 69 | 76 65 72 44 61 74 61 2d |FWAVCDri|verData-|
|00004150| 3e 69 73 6f 63 68 50 6f | 72 74 49 44 29 3b 0d 09 |>isochPo|rtID);..|
|00004160| 09 7d 0d 09 7d 0d 0d 09 | 2f 2f 20 43 6f 6d 70 6c |.}..}...|// Compl|
|00004170| 65 74 65 20 46 69 72 65 | 57 69 72 65 20 63 6c 69 |ete Fire|Wire cli|
|00004180| 65 6e 74 20 63 6f 6d 6d | 61 6e 64 2e 0d 09 46 57 |ent comm|and...FW|
|00004190| 43 6c 69 65 6e 74 43 6f | 6d 6d 61 6e 64 49 73 43 |ClientCo|mmandIsC|
|000041a0| 6f 6d 70 6c 65 74 65 0d | 09 09 28 70 52 65 6c 65 |omplete.|..(pRele|
|000041b0| 61 73 65 49 73 6f 63 68 | 50 6f 72 74 50 61 72 61 |aseIsoch|PortPara|
|000041c0| 6d 73 2d 3e 66 77 43 6c | 69 65 6e 74 49 6e 74 65 |ms->fwCl|ientInte|
|000041d0| 72 66 61 63 65 50 61 72 | 61 6d 73 2e 66 77 43 6c |rfacePar|ams.fwCl|
|000041e0| 69 65 6e 74 43 6f 6d 6d | 61 6e 64 49 44 2c 20 73 |ientComm|andID, s|
|000041f0| 74 61 74 75 73 29 3b 0d | 0d 09 2f 2f 20 52 65 74 |tatus);.|..// Ret|
|00004200| 75 72 6e 20 63 6f 6d 6d | 61 6e 64 20 61 63 63 65 |urn comm|and acce|
|00004210| 70 74 61 6e 63 65 2e 0d | 09 2f 2f 7a 7a 7a 20 69 |ptance..|.//zzz i|
|00004220| 73 20 74 68 69 73 20 74 | 68 65 20 72 69 67 68 74 |s this t|he right|
|00004230| 20 77 61 79 3f 20 20 49 | 66 20 77 65 27 76 65 20 | way? I|f we've |
|00004240| 63 6f 6d 70 6c 65 74 65 | 64 20 74 68 65 20 63 6f |complete|d the co|
|00004250| 6d 6d 61 6e 64 2c 20 77 | 65 20 63 61 6e 20 61 63 |mmand, w|e can ac|
|00004260| 63 65 70 74 20 6d 6f 72 | 65 2e 0d 09 2a 70 43 6f |cept mor|e...*pCo|
|00004270| 6d 6d 61 6e 64 41 63 63 | 65 70 74 61 6e 63 65 20 |mmandAcc|eptance |
|00004280| 3d 20 6b 46 57 43 6c 69 | 65 6e 74 43 6f 6d 6d 61 |= kFWCli|entComma|
|00004290| 6e 64 41 63 63 65 70 74 | 4e 6f 4d 6f 72 65 3b 0d |ndAccept|NoMore;.|
|000042a0| 0d 09 72 65 74 75 72 6e | 20 28 73 74 61 74 75 73 |..return| (status|
|000042b0| 29 3b 0d 7d 0d 0d 0d 2f | 2f 2f 2f 2f 2f 2f 2f 2f |);.}.../|////////|
|000042c0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000042d0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000042e0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000042f0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00004300| 2f 2f 2f 2f 2f 2f 2f 0d | 2f 2f 0d 2f 2f 20 46 57 |///////.|//.// FW|
|00004310| 41 56 43 53 74 61 72 74 | 49 73 6f 63 68 50 6f 72 |AVCStart|IsochPor|
|00004320| 74 0d 2f 2f 0d 2f 2f 20 | 20 20 54 68 69 73 20 70 |t.//.// | This p|
|00004330| 72 6f 63 65 64 75 72 65 | 20 73 74 61 72 74 73 20 |rocedure| starts |
|00004340| 74 68 65 20 69 73 6f 63 | 68 72 6f 6e 6f 75 73 20 |the isoc|hronous |
|00004350| 63 68 61 6e 6e 65 6c 2e | 20 20 49 66 20 74 68 65 |channel.| If the|
|00004360| 20 63 68 61 6e 6e 65 6c | 20 69 73 20 61 0d 2f 2f | channel| is a.//|
|00004370| 20 74 61 6c 6b 65 72 2c | 20 74 68 69 73 20 70 72 | talker,| this pr|
|00004380| 6f 63 65 64 75 72 65 20 | 77 69 6c 6c 20 70 72 6f |ocedure |will pro|
|00004390| 67 72 61 6d 20 74 68 65 | 20 63 61 6d 65 72 61 20 |gram the| camera |
|000043a0| 74 6f 20 73 74 61 72 74 | 20 73 65 6e 64 69 6e 67 |to start| sending|
|000043b0| 20 69 73 6f 63 68 72 6f | 6e 6f 75 73 0d 2f 2f 20 | isochro|nous.// |
|000043c0| 64 61 74 61 2e 20 20 49 | 66 20 74 68 65 20 63 68 |data. I|f the ch|
|000043d0| 61 6e 6e 65 6c 20 69 73 | 20 61 20 6c 69 73 74 65 |annel is| a liste|
|000043e0| 6e 65 72 2c 20 74 68 69 | 73 20 70 72 6f 63 65 64 |ner, thi|s proced|
|000043f0| 75 72 65 20 77 69 6c 6c | 20 73 74 61 72 74 20 74 |ure will| start t|
|00004400| 68 65 20 6c 6f 63 61 6c | 0d 2f 2f 20 69 73 6f 63 |he local|.// isoc|
|00004410| 68 72 6f 6e 6f 75 73 20 | 70 6f 72 74 2e 0d 2f 2f |hronous |port..//|
|00004420| 0d 0d 73 74 61 74 69 63 | 20 4f 53 53 74 61 74 75 |..static| OSStatu|
|00004430| 73 09 46 57 41 56 43 53 | 74 61 72 74 49 73 6f 63 |s.FWAVCS|tartIsoc|
|00004440| 68 50 6f 72 74 28 0d 09 | 46 57 43 6c 69 65 6e 74 |hPort(..|FWClient|
|00004450| 49 73 6f 63 68 50 6f 72 | 74 43 6f 6e 74 72 6f 6c |IsochPor|tControl|
|00004460| 50 61 72 61 6d 73 50 74 | 72 0d 09 09 09 09 09 09 |ParamsPt|r.......|
|00004470| 09 09 70 49 73 6f 63 68 | 50 6f 72 74 43 6f 6e 74 |..pIsoch|PortCont|
|00004480| 72 6f 6c 50 61 72 61 6d | 73 2c 0d 09 55 49 6e 74 |rolParam|s,..UInt|
|00004490| 33 32 09 09 09 09 09 09 | 2a 70 43 6f 6d 6d 61 6e |32......|*pComman|
|000044a0| 64 41 63 63 65 70 74 61 | 6e 63 65 29 0d 7b 0d 09 |dAccepta|nce).{..|
|000044b0| 46 57 43 6c 69 65 6e 74 | 43 6f 6d 6d 61 6e 64 49 |FWClient|CommandI|
|000044c0| 44 09 09 09 66 77 43 6c | 69 65 6e 74 43 6f 6d 6d |D...fwCl|ientComm|
|000044d0| 61 6e 64 49 44 3b 0d 09 | 46 57 41 56 43 44 72 69 |andID;..|FWAVCDri|
|000044e0| 76 65 72 44 61 74 61 50 | 74 72 09 09 09 70 46 57 |verDataP|tr...pFW|
|000044f0| 41 56 43 44 72 69 76 65 | 72 44 61 74 61 3b 0d 09 |AVCDrive|rData;..|
|00004500| 46 57 43 6f 6d 6d 61 6e | 64 4f 62 6a 65 63 74 49 |FWComman|dObjectI|
|00004510| 44 09 09 09 69 73 6f 63 | 68 50 6f 72 74 43 6f 6d |D...isoc|hPortCom|
|00004520| 6d 61 6e 64 4f 62 6a 65 | 63 74 49 44 3b 0d 09 46 |mandObje|ctID;..F|
|00004530| 57 43 6f 6d 6d 61 6e 64 | 4f 62 6a 65 63 74 49 44 |WCommand|ObjectID|
|00004540| 09 09 09 66 63 70 43 6f | 6d 6d 61 6e 64 4f 62 6a |...fcpCo|mmandObj|
|00004550| 65 63 74 49 44 3b 0d 09 | 55 49 6e 74 33 32 09 09 |ectID;..|UInt32..|
|00004560| 09 09 09 09 2a 70 46 43 | 50 50 6c 61 79 46 72 61 |....*pFC|PPlayFra|
|00004570| 6d 65 3b 0d 09 49 73 6f | 63 68 43 68 61 6e 6e 65 |me;..Iso|chChanne|
|00004580| 6c 49 44 09 09 09 09 69 | 73 6f 63 68 43 68 61 6e |lID....i|sochChan|
|00004590| 6e 65 6c 49 44 3b 0d 09 | 42 6f 6f 6c 65 61 6e 09 |nelID;..|Boolean.|
|000045a0| 09 09 09 09 09 70 6f 72 | 74 49 73 54 61 6c 6b 65 |.....por|tIsTalke|
|000045b0| 72 3b 0d 09 42 6f 6f 6c | 65 61 6e 09 09 09 09 09 |r;..Bool|ean.....|
|000045c0| 09 63 6f 6d 70 6c 65 74 | 69 6f 6e 49 73 50 65 6e |.complet|ionIsPen|
|000045d0| 64 69 6e 67 20 3d 20 66 | 61 6c 73 65 3b 0d 09 4f |ding = f|alse;..O|
|000045e0| 53 53 74 61 74 75 73 09 | 09 09 09 09 73 74 61 74 |SStatus.|....stat|
|000045f0| 75 73 20 3d 20 6e 6f 45 | 72 72 3b 0d 0d 09 2f 2f |us = noE|rr;...//|
|00004600| 20 47 65 74 20 6f 75 72 | 20 64 72 69 76 65 72 20 | Get our| driver |
|00004610| 64 61 74 61 2e 0d 09 70 | 46 57 41 56 43 44 72 69 |data...p|FWAVCDri|
|00004620| 76 65 72 44 61 74 61 20 | 3d 20 28 46 57 41 56 43 |verData |= (FWAVC|
|00004630| 44 72 69 76 65 72 44 61 | 74 61 50 74 72 29 0d 09 |DriverDa|taPtr)..|
|00004640| 09 70 49 73 6f 63 68 50 | 6f 72 74 43 6f 6e 74 72 |.pIsochP|ortContr|
|00004650| 6f 6c 50 61 72 61 6d 73 | 2d 3e 66 77 43 6c 69 65 |olParams|->fwClie|
|00004660| 6e 74 49 6e 74 65 72 66 | 61 63 65 50 61 72 61 6d |ntInterf|aceParam|
|00004670| 73 2e 66 77 43 6c 69 65 | 6e 74 53 70 65 63 69 66 |s.fwClie|ntSpecif|
|00004680| 69 63 44 61 74 61 3b 0d | 0d 09 2f 2f 20 47 65 74 |icData;.|..// Get|
|00004690| 20 49 44 20 66 6f 72 20 | 74 68 69 73 20 63 68 61 | ID for |this cha|
|000046a0| 6e 6e 65 6c 2e 0d 09 69 | 73 6f 63 68 43 68 61 6e |nnel...i|sochChan|
|000046b0| 6e 65 6c 49 44 20 3d 20 | 70 49 73 6f 63 68 50 6f |nelID = |pIsochPo|
|000046c0| 72 74 43 6f 6e 74 72 6f | 6c 50 61 72 61 6d 73 2d |rtContro|lParams-|
|000046d0| 3e 66 77 43 6c 69 65 6e | 74 49 73 6f 63 68 50 6f |>fwClien|tIsochPo|
|000046e0| 72 74 50 61 72 61 6d 73 | 2e 69 73 6f 63 68 43 68 |rtParams|.isochCh|
|000046f0| 61 6e 6e 65 6c 49 44 3b | 0d 0d 09 2f 2f 20 49 73 |annelID;|...// Is|
|00004700| 20 74 68 69 73 20 72 65 | 71 75 65 73 74 20 66 6f | this re|quest fo|
|00004710| 72 20 74 68 65 20 74 61 | 6c 6b 69 6e 67 20 70 6f |r the ta|lking po|
|00004720| 72 74 3f 0d 09 70 6f 72 | 74 49 73 54 61 6c 6b 65 |rt?..por|tIsTalke|
|00004730| 72 20 3d 20 70 49 73 6f | 63 68 50 6f 72 74 43 6f |r = pIso|chPortCo|
|00004740| 6e 74 72 6f 6c 50 61 72 | 61 6d 73 2d 3e 66 77 43 |ntrolPar|ams->fwC|
|00004750| 6c 69 65 6e 74 49 73 6f | 63 68 50 6f 72 74 50 61 |lientIso|chPortPa|
|00004760| 72 61 6d 73 2e 70 6f 72 | 74 49 73 54 61 6c 6b 65 |rams.por|tIsTalke|
|00004770| 72 3b 0d 0d 09 69 66 20 | 28 69 73 6f 63 68 43 68 |r;...if |(isochCh|
|00004780| 61 6e 6e 65 6c 49 44 20 | 3d 3d 20 70 46 57 41 56 |annelID |== pFWAV|
|00004790| 43 44 72 69 76 65 72 44 | 61 74 61 2d 3e 72 65 63 |CDriverD|ata->rec|
|000047a0| 6f 72 64 49 73 6f 63 68 | 43 68 61 6e 6e 65 6c 49 |ordIsoch|ChannelI|
|000047b0| 44 29 0d 09 7b 0d 09 09 | 69 66 20 28 70 6f 72 74 |D)..{...|if (port|
|000047c0| 49 73 54 61 6c 6b 65 72 | 29 0d 09 09 7b 0d 09 09 |IsTalker|)...{...|
|000047d0| 09 2f 2f 20 53 65 74 20 | 75 70 20 46 43 50 20 63 |.// Set |up FCP c|
|000047e0| 6f 6d 6d 61 6e 64 20 74 | 6f 20 74 65 6c 6c 20 63 |ommand t|o tell c|
|000047f0| 61 6d 65 72 61 20 74 6f | 20 73 74 61 72 74 20 74 |amera to| start t|
|00004800| 68 65 20 74 72 61 6e 73 | 70 6f 72 74 2e 0d 09 09 |he trans|port....|
|00004810| 09 66 63 70 43 6f 6d 6d | 61 6e 64 4f 62 6a 65 63 |.fcpComm|andObjec|
|00004820| 74 49 44 20 3d 20 70 46 | 57 41 56 43 44 72 69 76 |tID = pF|WAVCDriv|
|00004830| 65 72 44 61 74 61 2d 3e | 61 73 79 6e 63 46 43 50 |erData->|asyncFCP|
|00004840| 43 6f 6d 6d 61 6e 64 4f | 62 6a 65 63 74 49 44 3b |CommandO|bjectID;|
|00004850| 0d 09 09 09 70 46 43 50 | 50 6c 61 79 46 72 61 6d |....pFCP|PlayFram|
|00004860| 65 20 3d 20 70 46 57 41 | 56 43 44 72 69 76 65 72 |e = pFWA|VCDriver|
|00004870| 44 61 74 61 2d 3e 66 63 | 70 43 6f 6d 6d 61 6e 64 |Data->fc|pCommand|
|00004880| 46 72 61 6d 65 3b 0d 09 | 09 09 70 46 43 50 50 6c |Frame;..|..pFCPPl|
|00004890| 61 79 46 72 61 6d 65 5b | 30 5d 20 3d 20 30 78 30 |ayFrame[|0] = 0x0|
|000048a0| 30 32 30 43 33 37 35 3b | 0d 0d 09 09 09 66 77 43 |020C375;|.....fwC|
|000048b0| 6c 69 65 6e 74 43 6f 6d | 6d 61 6e 64 49 44 20 3d |lientCom|mandID =|
|000048c0| 0d 09 09 09 09 70 49 73 | 6f 63 68 50 6f 72 74 43 |.....pIs|ochPortC|
|000048d0| 6f 6e 74 72 6f 6c 50 61 | 72 61 6d 73 2d 3e 66 77 |ontrolPa|rams->fw|
|000048e0| 43 6c 69 65 6e 74 49 6e | 74 65 72 66 61 63 65 50 |ClientIn|terfaceP|
|000048f0| 61 72 61 6d 73 2e 66 77 | 43 6c 69 65 6e 74 43 6f |arams.fw|ClientCo|
|00004900| 6d 6d 61 6e 64 49 44 3b | 0d 09 09 09 46 57 53 65 |mmandID;|....FWSe|
|00004910| 74 46 57 43 6f 6d 6d 61 | 6e 64 50 61 72 61 6d 73 |tFWComma|ndParams|
|00004920| 20 28 66 63 70 43 6f 6d | 6d 61 6e 64 4f 62 6a 65 | (fcpCom|mandObje|
|00004930| 63 74 49 44 2c 0d 09 09 | 09 09 09 09 09 09 20 20 |ctID,...|...... |
|00004940| 28 46 57 52 65 66 65 72 | 65 6e 63 65 49 44 29 20 |(FWRefer|enceID) |
|00004950| 70 46 57 41 56 43 44 72 | 69 76 65 72 44 61 74 61 |pFWAVCDr|iverData|
|00004960| 2d 3e 66 77 44 72 69 76 | 65 72 49 44 2c 0d 09 09 |->fwDriv|erID,...|
|00004970| 09 09 09 09 09 09 20 20 | 30 2c 0d 09 09 09 09 09 |...... |0,......|
|00004980| 09 09 09 20 20 46 57 41 | 56 43 43 6c 69 65 6e 74 |... FWA|VCClient|
|00004990| 43 6f 6d 6d 61 6e 64 43 | 6f 6d 70 6c 65 74 69 6f |CommandC|ompletio|
|000049a0| 6e 50 72 6f 63 2c 0d 09 | 09 09 09 09 09 09 09 20 |nProc,..|....... |
|000049b0| 20 28 55 49 6e 74 33 32 | 29 20 66 77 43 6c 69 65 | (UInt32|) fwClie|
|000049c0| 6e 74 43 6f 6d 6d 61 6e | 64 49 44 29 3b 0d 0d 09 |ntComman|dID);...|
|000049d0| 09 09 46 57 53 65 74 46 | 43 50 43 6f 6d 6d 61 6e |..FWSetF|CPComman|
|000049e0| 64 50 61 72 61 6d 73 20 | 28 66 63 70 43 6f 6d 6d |dParams |(fcpComm|
|000049f0| 61 6e 64 4f 62 6a 65 63 | 74 49 44 2c 0d 09 09 09 |andObjec|tID,....|
|00004a00| 09 09 09 09 09 20 20 20 | 28 50 74 72 29 20 70 46 |..... |(Ptr) pF|
|00004a10| 43 50 50 6c 61 79 46 72 | 61 6d 65 2c 0d 09 09 09 |CPPlayFr|ame,....|
|00004a20| 09 09 09 09 09 20 20 20 | 34 2c 0d 09 09 09 09 09 |..... |4,......|
|00004a30| 09 09 09 20 20 20 28 50 | 74 72 29 20 70 46 43 50 |... (P|tr) pFCP|
|00004a40| 50 6c 61 79 46 72 61 6d | 65 2c 0d 09 09 09 09 09 |PlayFram|e,......|
|00004a50| 09 09 09 20 20 20 34 30 | 2c 0d 09 09 09 09 09 09 |... 40|,.......|
|00004a60| 09 09 20 20 20 31 30 30 | 20 2a 20 64 75 72 61 74 |.. 100| * durat|
|00004a70| 69 6f 6e 4d 69 6c 6c 69 | 73 65 63 6f 6e 64 2c 0d |ionMilli|second,.|
|00004a80| 09 09 09 09 09 09 09 09 | 20 20 20 38 2c 0d 09 09 |........| 8,...|
|00004a90| 09 09 09 09 09 09 20 20 | 20 30 2c 0d 09 09 09 09 |...... | 0,.....|
|00004aa0| 09 09 09 09 20 20 20 6e | 69 6c 29 3b 0d 0d 09 09 |.... n|il);....|
|00004ab0| 09 2f 2f 20 53 65 6e 64 | 20 74 68 65 20 46 43 50 |.// Send| the FCP|
|00004ac0| 20 63 6f 6d 6d 61 6e 64 | 2e 0d 09 09 09 73 74 61 | command|.....sta|
|00004ad0| 74 75 73 20 3d 20 46 57 | 53 65 6e 64 46 43 50 43 |tus = FW|SendFCPC|
|00004ae0| 6f 6d 6d 61 6e 64 20 28 | 66 63 70 43 6f 6d 6d 61 |ommand (|fcpComma|
|00004af0| 6e 64 4f 62 6a 65 63 74 | 49 44 29 3b 0d 09 09 09 |ndObject|ID);....|
|00004b00| 63 6f 6d 70 6c 65 74 69 | 6f 6e 49 73 50 65 6e 64 |completi|onIsPend|
|00004b10| 69 6e 67 20 3d 20 74 72 | 75 65 3b 20 2f 2f 7a 7a |ing = tr|ue; //zz|
|00004b20| 7a 20 77 68 61 74 20 69 | 66 20 61 62 6f 76 65 20 |z what i|f above |
|00004b30| 63 61 6c 6c 20 72 65 74 | 75 72 6e 73 20 61 6e 20 |call ret|urns an |
|00004b40| 65 72 72 6f 72 3f 0d 09 | 09 7d 0d 09 09 65 6c 73 |error?..|.}...els|
|00004b50| 65 0d 09 09 7b 0d 09 09 | 09 2f 2f 20 53 65 74 20 |e...{...|.// Set |
|00004b60| 75 70 20 63 6f 6d 6d 61 | 6e 64 20 6f 62 6a 65 63 |up comma|nd objec|
|00004b70| 74 20 74 6f 20 73 74 61 | 72 74 20 70 6f 72 74 2e |t to sta|rt port.|
|00004b80| 0d 09 09 09 69 73 6f 63 | 68 50 6f 72 74 43 6f 6d |....isoc|hPortCom|
|00004b90| 6d 61 6e 64 4f 62 6a 65 | 63 74 49 44 20 3d 20 70 |mandObje|ctID = p|
|00004ba0| 46 57 41 56 43 44 72 69 | 76 65 72 44 61 74 61 2d |FWAVCDri|verData-|
|00004bb0| 3e 73 74 61 72 74 49 73 | 6f 63 68 50 6f 72 74 43 |>startIs|ochPortC|
|00004bc0| 6f 6d 6d 61 6e 64 4f 62 | 6a 65 63 74 49 44 3b 0d |ommandOb|jectID;.|
|00004bd0| 09 09 09 66 77 43 6c 69 | 65 6e 74 43 6f 6d 6d 61 |...fwCli|entComma|
|00004be0| 6e 64 49 44 20 3d 0d 09 | 09 09 09 70 49 73 6f 63 |ndID =..|...pIsoc|
|00004bf0| 68 50 6f 72 74 43 6f 6e | 74 72 6f 6c 50 61 72 61 |hPortCon|trolPara|
|00004c00| 6d 73 2d 3e 66 77 43 6c | 69 65 6e 74 49 6e 74 65 |ms->fwCl|ientInte|
|00004c10| 72 66 61 63 65 50 61 72 | 61 6d 73 2e 66 77 43 6c |rfacePar|ams.fwCl|
|00004c20| 69 65 6e 74 43 6f 6d 6d | 61 6e 64 49 44 3b 0d 09 |ientComm|andID;..|
|00004c30| 09 09 46 57 53 65 74 46 | 57 43 6f 6d 6d 61 6e 64 |..FWSetF|WCommand|
|00004c40| 50 61 72 61 6d 73 20 28 | 69 73 6f 63 68 50 6f 72 |Params (|isochPor|
|00004c50| 74 43 6f 6d 6d 61 6e 64 | 4f 62 6a 65 63 74 49 44 |tCommand|ObjectID|
|00004c60| 2c 0d 09 09 09 09 09 09 | 09 09 20 20 28 46 57 52 |,.......|.. (FWR|
|00004c70| 65 66 65 72 65 6e 63 65 | 49 44 29 20 70 46 57 41 |eference|ID) pFWA|
|00004c80| 56 43 44 72 69 76 65 72 | 44 61 74 61 2d 3e 66 77 |VCDriver|Data->fw|
|00004c90| 44 72 69 76 65 72 49 44 | 2c 0d 09 09 09 09 09 09 |DriverID|,.......|
|00004ca0| 09 09 20 20 30 2c 0d 09 | 09 09 09 09 09 09 09 20 |.. 0,..|....... |
|00004cb0| 20 46 57 41 56 43 43 6c | 69 65 6e 74 43 6f 6d 6d | FWAVCCl|ientComm|
|00004cc0| 61 6e 64 43 6f 6d 70 6c | 65 74 69 6f 6e 50 72 6f |andCompl|etionPro|
|00004cd0| 63 2c 0d 09 09 09 09 09 | 09 09 09 20 20 28 55 49 |c,......|... (UI|
|00004ce0| 6e 74 33 32 29 20 66 77 | 43 6c 69 65 6e 74 43 6f |nt32) fw|ClientCo|
|00004cf0| 6d 6d 61 6e 64 49 44 29 | 3b 0d 09 09 09 46 57 53 |mmandID)|;....FWS|
|00004d00| 65 74 49 73 6f 63 68 50 | 6f 72 74 43 6f 6d 6d 61 |etIsochP|ortComma|
|00004d10| 6e 64 49 73 6f 63 68 50 | 6f 72 74 49 44 20 28 69 |ndIsochP|ortID (i|
|00004d20| 73 6f 63 68 50 6f 72 74 | 43 6f 6d 6d 61 6e 64 4f |sochPort|CommandO|
|00004d30| 62 6a 65 63 74 49 44 2c | 0d 09 09 09 09 09 09 09 |bjectID,|........|
|00004d40| 09 09 09 09 20 20 70 46 | 57 41 56 43 44 72 69 76 |.... pF|WAVCDriv|
|00004d50| 65 72 44 61 74 61 2d 3e | 69 73 6f 63 68 50 6f 72 |erData->|isochPor|
|00004d60| 74 49 44 29 3b 0d 0d 09 | 09 09 2f 2f 20 53 65 6e |tID);...|..// Sen|
|00004d70| 64 20 63 6f 6d 6d 61 6e | 64 20 74 6f 20 73 74 61 |d comman|d to sta|
|00004d80| 72 74 20 70 6f 72 74 2e | 0d 09 09 09 73 74 61 74 |rt port.|....stat|
|00004d90| 75 73 20 3d 20 46 57 53 | 74 61 72 74 4c 6f 63 61 |us = FWS|tartLoca|
|00004da0| 6c 49 73 6f 63 68 72 6f | 6e 6f 75 73 50 6f 72 74 |lIsochro|nousPort|
|00004db0| 20 28 69 73 6f 63 68 50 | 6f 72 74 43 6f 6d 6d 61 | (isochP|ortComma|
|00004dc0| 6e 64 4f 62 6a 65 63 74 | 49 44 29 3b 0d 09 09 09 |ndObject|ID);....|
|00004dd0| 63 6f 6d 70 6c 65 74 69 | 6f 6e 49 73 50 65 6e 64 |completi|onIsPend|
|00004de0| 69 6e 67 20 3d 20 74 72 | 75 65 3b 20 2f 2f 7a 7a |ing = tr|ue; //zz|
|00004df0| 7a 20 77 68 61 74 20 69 | 66 20 61 62 6f 76 65 20 |z what i|f above |
|00004e00| 63 61 6c 6c 20 72 65 74 | 75 72 6e 73 20 61 6e 20 |call ret|urns an |
|00004e10| 65 72 72 6f 72 3f 0d 09 | 09 7d 0d 09 7d 0d 09 65 |error?..|.}..}..e|
|00004e20| 6c 73 65 0d 09 7b 0d 09 | 09 69 66 20 28 70 6f 72 |lse..{..|.if (por|
|00004e30| 74 49 73 54 61 6c 6b 65 | 72 29 0d 09 09 7b 0d 09 |tIsTalke|r)...{..|
|00004e40| 09 09 2f 2f 20 53 65 74 | 20 75 70 20 63 6f 6d 6d |..// Set| up comm|
|00004e50| 61 6e 64 20 6f 62 6a 65 | 63 74 20 74 6f 20 73 74 |and obje|ct to st|
|00004e60| 61 72 74 20 70 6f 72 74 | 2e 0d 09 09 09 69 73 6f |art port|.....iso|
|00004e70| 63 68 50 6f 72 74 43 6f | 6d 6d 61 6e 64 4f 62 6a |chPortCo|mmandObj|
|00004e80| 65 63 74 49 44 20 3d 20 | 70 46 57 41 56 43 44 72 |ectID = |pFWAVCDr|
|00004e90| 69 76 65 72 44 61 74 61 | 2d 3e 73 74 61 72 74 49 |iverData|->startI|
|00004ea0| 73 6f 63 68 50 6f 72 74 | 43 6f 6d 6d 61 6e 64 4f |sochPort|CommandO|
|00004eb0| 62 6a 65 63 74 49 44 3b | 0d 09 09 09 66 77 43 6c |bjectID;|....fwCl|
|00004ec0| 69 65 6e 74 43 6f 6d 6d | 61 6e 64 49 44 20 3d 0d |ientComm|andID =.|
|00004ed0| 09 09 09 09 70 49 73 6f | 63 68 50 6f 72 74 43 6f |....pIso|chPortCo|
|00004ee0| 6e 74 72 6f 6c 50 61 72 | 61 6d 73 2d 3e 66 77 43 |ntrolPar|ams->fwC|
|00004ef0| 6c 69 65 6e 74 49 6e 74 | 65 72 66 61 63 65 50 61 |lientInt|erfacePa|
|00004f00| 72 61 6d 73 2e 66 77 43 | 6c 69 65 6e 74 43 6f 6d |rams.fwC|lientCom|
|00004f10| 6d 61 6e 64 49 44 3b 0d | 09 09 09 46 57 53 65 74 |mandID;.|...FWSet|
|00004f20| 46 57 43 6f 6d 6d 61 6e | 64 50 61 72 61 6d 73 20 |FWComman|dParams |
|00004f30| 28 69 73 6f 63 68 50 6f | 72 74 43 6f 6d 6d 61 6e |(isochPo|rtComman|
|00004f40| 64 4f 62 6a 65 63 74 49 | 44 2c 0d 09 09 09 09 09 |dObjectI|D,......|
|00004f50| 09 09 09 20 20 28 46 57 | 52 65 66 65 72 65 6e 63 |... (FW|Referenc|
|00004f60| 65 49 44 29 20 70 46 57 | 41 56 43 44 72 69 76 65 |eID) pFW|AVCDrive|
|00004f70| 72 44 61 74 61 2d 3e 66 | 77 44 72 69 76 65 72 49 |rData->f|wDriverI|
|00004f80| 44 2c 0d 09 09 09 09 09 | 09 09 09 20 20 30 2c 0d |D,......|... 0,.|
|00004f90| 09 09 09 09 09 09 09 09 | 20 20 46 57 41 56 43 43 |........| FWAVCC|
|00004fa0| 6c 69 65 6e 74 43 6f 6d | 6d 61 6e 64 43 6f 6d 70 |lientCom|mandComp|
|00004fb0| 6c 65 74 69 6f 6e 50 72 | 6f 63 2c 0d 09 09 09 09 |letionPr|oc,.....|
|00004fc0| 09 09 09 09 20 20 28 55 | 49 6e 74 33 32 29 20 66 |.... (U|Int32) f|
|00004fd0| 77 43 6c 69 65 6e 74 43 | 6f 6d 6d 61 6e 64 49 44 |wClientC|ommandID|
|00004fe0| 29 3b 0d 09 09 09 46 57 | 53 65 74 49 73 6f 63 68 |);....FW|SetIsoch|
|00004ff0| 50 6f 72 74 43 6f 6d 6d | 61 6e 64 49 73 6f 63 68 |PortComm|andIsoch|
|00005000| 50 6f 72 74 49 44 20 28 | 69 73 6f 63 68 50 6f 72 |PortID (|isochPor|
|00005010| 74 43 6f 6d 6d 61 6e 64 | 4f 62 6a 65 63 74 49 44 |tCommand|ObjectID|
|00005020| 2c 0d 09 09 09 09 09 09 | 09 09 09 09 09 20 20 70 |,.......|..... p|
|00005030| 46 57 41 56 43 44 72 69 | 76 65 72 44 61 74 61 2d |FWAVCDri|verData-|
|00005040| 3e 69 73 6f 63 68 50 6f | 72 74 49 44 29 3b 0d 0d |>isochPo|rtID);..|
|00005050| 09 09 09 2f 2f 20 53 65 | 6e 64 20 63 6f 6d 6d 61 |...// Se|nd comma|
|00005060| 6e 64 20 74 6f 20 73 74 | 61 72 74 20 70 6f 72 74 |nd to st|art port|
|00005070| 2e 0d 09 09 09 73 74 61 | 74 75 73 20 3d 20 46 57 |.....sta|tus = FW|
|00005080| 53 74 61 72 74 4c 6f 63 | 61 6c 49 73 6f 63 68 72 |StartLoc|alIsochr|
|00005090| 6f 6e 6f 75 73 50 6f 72 | 74 20 28 69 73 6f 63 68 |onousPor|t (isoch|
|000050a0| 50 6f 72 74 43 6f 6d 6d | 61 6e 64 4f 62 6a 65 63 |PortComm|andObjec|
|000050b0| 74 49 44 29 3b 0d 09 09 | 09 63 6f 6d 70 6c 65 74 |tID);...|.complet|
|000050c0| 69 6f 6e 49 73 50 65 6e | 64 69 6e 67 20 3d 20 74 |ionIsPen|ding = t|
|000050d0| 72 75 65 3b 20 2f 2f 7a | 7a 7a 20 77 68 61 74 20 |rue; //z|zz what |
|000050e0| 69 66 20 61 62 6f 76 65 | 20 63 61 6c 6c 20 72 65 |if above| call re|
|000050f0| 74 75 72 6e 73 20 61 6e | 20 65 72 72 6f 72 3f 0d |turns an| error?.|
|00005100| 09 09 7d 0d 09 09 65 6c | 73 65 0d 09 09 7b 0d 09 |..}...el|se...{..|
|00005110| 09 09 2f 2f 7a 7a 7a 20 | 64 6f 6e 27 74 20 64 6f |..//zzz |don't do|
|00005120| 20 61 6e 79 74 68 69 6e | 67 20 77 69 74 68 20 63 | anythin|g with c|
|00005130| 61 6d 65 72 61 20 79 65 | 74 2e 0d 09 09 7d 0d 09 |amera ye|t....}..|
|00005140| 7d 0d 0d 09 2f 2f 20 43 | 6f 6d 70 6c 65 74 65 20 |}...// C|omplete |
|00005150| 63 6f 6d 6d 61 6e 64 20 | 69 66 20 63 6f 6d 70 6c |command |if compl|
|00005160| 65 74 69 6f 6e 20 69 73 | 20 6e 6f 74 20 70 65 6e |etion is| not pen|
|00005170| 64 69 6e 67 2e 0d 09 69 | 66 20 28 21 63 6f 6d 70 |ding...i|f (!comp|
|00005180| 6c 65 74 69 6f 6e 49 73 | 50 65 6e 64 69 6e 67 29 |letionIs|Pending)|
|00005190| 0d 09 7b 0d 09 09 73 74 | 61 74 75 73 20 3d 20 46 |..{...st|atus = F|
|000051a0| 57 43 6c 69 65 6e 74 43 | 6f 6d 6d 61 6e 64 49 73 |WClientC|ommandIs|
|000051b0| 43 6f 6d 70 6c 65 74 65 | 0d 09 09 09 09 09 28 70 |Complete|......(p|
|000051c0| 49 73 6f 63 68 50 6f 72 | 74 43 6f 6e 74 72 6f 6c |IsochPor|tControl|
|000051d0| 50 61 72 61 6d 73 2d 3e | 66 77 43 6c 69 65 6e 74 |Params->|fwClient|
|000051e0| 49 6e 74 65 72 66 61 63 | 65 50 61 72 61 6d 73 2e |Interfac|eParams.|
|000051f0| 66 77 43 6c 69 65 6e 74 | 43 6f 6d 6d 61 6e 64 49 |fwClient|CommandI|
|00005200| 44 2c 0d 09 09 09 09 09 | 20 73 74 61 74 75 73 29 |D,......| status)|
|00005210| 3b 0d 09 7d 0d 0d 09 2f | 2f 20 52 65 74 75 72 6e |;..}.../|/ Return|
|00005220| 20 63 6f 6d 6d 61 6e 64 | 20 61 63 63 65 70 74 61 | command| accepta|
|00005230| 6e 63 65 2e 0d 09 2f 2f | 7a 7a 7a 20 69 73 20 74 |nce...//|zzz is t|
|00005240| 68 69 73 20 74 68 65 20 | 72 69 67 68 74 20 77 61 |his the |right wa|
|00005250| 79 3f 20 20 49 66 20 77 | 65 27 76 65 20 63 6f 6d |y? If w|e've com|
|00005260| 70 6c 65 74 65 64 20 74 | 68 65 20 63 6f 6d 6d 61 |pleted t|he comma|
|00005270| 6e 64 2c 20 77 65 20 63 | 61 6e 20 61 63 63 65 70 |nd, we c|an accep|
|00005280| 74 20 6d 6f 72 65 2e 0d | 09 2a 70 43 6f 6d 6d 61 |t more..|.*pComma|
|00005290| 6e 64 41 63 63 65 70 74 | 61 6e 63 65 20 3d 20 6b |ndAccept|ance = k|
|000052a0| 46 57 43 6c 69 65 6e 74 | 43 6f 6d 6d 61 6e 64 41 |FWClient|CommandA|
|000052b0| 63 63 65 70 74 4e 6f 4d | 6f 72 65 3b 0d 0d 09 72 |cceptNoM|ore;...r|
|000052c0| 65 74 75 72 6e 20 28 73 | 74 61 74 75 73 29 3b 0d |eturn (s|tatus);.|
|000052d0| 7d 0d 0d 0d 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |}...////|////////|
|000052e0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000052f0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00005300| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00005310| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00005320| 2f 2f 2f 2f 0d 2f 2f 0d | 2f 2f 20 46 57 41 56 43 |////.//.|// FWAVC|
|00005330| 53 74 6f 70 49 73 6f 63 | 68 50 6f 72 74 0d 2f 2f |StopIsoc|hPort.//|
|00005340| 0d 2f 2f 20 20 20 54 68 | 69 73 20 70 72 6f 63 65 |.// Th|is proce|
|00005350| 64 75 72 65 20 73 74 6f | 70 20 74 68 65 20 69 73 |dure sto|p the is|
|00005360| 6f 63 68 72 6f 6e 6f 75 | 73 20 63 68 61 6e 6e 65 |ochronou|s channe|
|00005370| 6c 2e 20 20 49 66 20 74 | 68 65 20 63 68 61 6e 6e |l. If t|he chann|
|00005380| 65 6c 20 69 73 20 61 0d | 2f 2f 20 74 61 6c 6b 65 |el is a.|// talke|
|00005390| 72 2c 20 74 68 69 73 20 | 70 72 6f 63 65 64 75 72 |r, this |procedur|
|000053a0| 65 20 77 69 6c 6c 20 70 | 72 6f 67 72 61 6d 20 74 |e will p|rogram t|
|000053b0| 68 65 20 63 61 6d 65 72 | 61 20 74 6f 20 73 74 6f |he camer|a to sto|
|000053c0| 70 20 73 65 6e 64 69 6e | 67 20 69 73 6f 63 68 72 |p sendin|g isochr|
|000053d0| 6f 6e 6f 75 73 0d 2f 2f | 20 64 61 74 61 2e 20 20 |onous.//| data. |
|000053e0| 49 66 20 74 68 65 20 63 | 68 61 6e 6e 65 6c 20 69 |If the c|hannel i|
|000053f0| 73 20 61 20 6c 69 73 74 | 65 6e 65 72 2c 20 74 68 |s a list|ener, th|
|00005400| 69 73 20 70 72 6f 63 65 | 64 75 72 65 20 77 69 6c |is proce|dure wil|
|00005410| 6c 20 73 74 6f 70 20 74 | 68 65 20 6c 6f 63 61 6c |l stop t|he local|
|00005420| 0d 2f 2f 20 69 73 6f 63 | 68 72 6f 6e 6f 75 73 20 |.// isoc|hronous |
|00005430| 70 6f 72 74 2e 0d 2f 2f | 0d 0d 73 74 61 74 69 63 |port..//|..static|
|00005440| 20 4f 53 53 74 61 74 75 | 73 09 46 57 41 56 43 53 | OSStatu|s.FWAVCS|
|00005450| 74 6f 70 49 73 6f 63 68 | 50 6f 72 74 28 0d 09 46 |topIsoch|Port(..F|
|00005460| 57 43 6c 69 65 6e 74 49 | 73 6f 63 68 50 6f 72 74 |WClientI|sochPort|
|00005470| 43 6f 6e 74 72 6f 6c 50 | 61 72 61 6d 73 50 74 72 |ControlP|aramsPtr|
|00005480| 0d 09 09 09 09 09 09 09 | 09 70 49 73 6f 63 68 50 |........|.pIsochP|
|00005490| 6f 72 74 43 6f 6e 74 72 | 6f 6c 50 61 72 61 6d 73 |ortContr|olParams|
|000054a0| 2c 0d 09 55 49 6e 74 33 | 32 09 09 09 09 09 09 2a |,..UInt3|2......*|
|000054b0| 70 43 6f 6d 6d 61 6e 64 | 41 63 63 65 70 74 61 6e |pCommand|Acceptan|
|000054c0| 63 65 29 0d 7b 0d 09 46 | 57 43 6c 69 65 6e 74 43 |ce).{..F|WClientC|
|000054d0| 6f 6d 6d 61 6e 64 49 44 | 09 09 09 66 77 43 6c 69 |ommandID|...fwCli|
|000054e0| 65 6e 74 43 6f 6d 6d 61 | 6e 64 49 44 3b 0d 09 46 |entComma|ndID;..F|
|000054f0| 57 41 56 43 44 72 69 76 | 65 72 44 61 74 61 50 74 |WAVCDriv|erDataPt|
|00005500| 72 09 09 09 70 46 57 41 | 56 43 44 72 69 76 65 72 |r...pFWA|VCDriver|
|00005510| 44 61 74 61 3b 0d 09 46 | 57 43 6f 6d 6d 61 6e 64 |Data;..F|WCommand|
|00005520| 4f 62 6a 65 63 74 49 44 | 09 09 09 69 73 6f 63 68 |ObjectID|...isoch|
|00005530| 50 6f 72 74 43 6f 6d 6d | 61 6e 64 4f 62 6a 65 63 |PortComm|andObjec|
|00005540| 74 49 44 3b 0d 09 46 57 | 43 6f 6d 6d 61 6e 64 4f |tID;..FW|CommandO|
|00005550| 62 6a 65 63 74 49 44 09 | 09 09 66 63 70 43 6f 6d |bjectID.|..fcpCom|
|00005560| 6d 61 6e 64 4f 62 6a 65 | 63 74 49 44 3b 0d 09 55 |mandObje|ctID;..U|
|00005570| 49 6e 74 33 32 09 09 09 | 09 09 09 2a 70 46 43 50 |Int32...|...*pFCP|
|00005580| 53 74 6f 70 46 72 61 6d | 65 3b 0d 09 49 73 6f 63 |StopFram|e;..Isoc|
|00005590| 68 43 68 61 6e 6e 65 6c | 49 44 09 09 09 09 69 73 |hChannel|ID....is|
|000055a0| 6f 63 68 43 68 61 6e 6e | 65 6c 49 44 3b 0d 09 42 |ochChann|elID;..B|
|000055b0| 6f 6f 6c 65 61 6e 09 09 | 09 09 09 09 70 6f 72 74 |oolean..|....port|
|000055c0| 49 73 54 61 6c 6b 65 72 | 3b 0d 09 42 6f 6f 6c 65 |IsTalker|;..Boole|
|000055d0| 61 6e 09 09 09 09 09 09 | 63 6f 6d 70 6c 65 74 69 |an......|completi|
|000055e0| 6f 6e 49 73 50 65 6e 64 | 69 6e 67 20 3d 20 66 61 |onIsPend|ing = fa|
|000055f0| 6c 73 65 3b 0d 09 4f 53 | 53 74 61 74 75 73 09 09 |lse;..OS|Status..|
|00005600| 09 09 09 73 74 61 74 75 | 73 20 3d 20 6e 6f 45 72 |...statu|s = noEr|
|00005610| 72 3b 0d 0d 09 2f 2f 20 | 47 65 74 20 6f 75 72 20 |r;...// |Get our |
|00005620| 64 72 69 76 65 72 20 64 | 61 74 61 2e 0d 09 70 46 |driver d|ata...pF|
|00005630| 57 41 56 43 44 72 69 76 | 65 72 44 61 74 61 20 3d |WAVCDriv|erData =|
|00005640| 20 28 46 57 41 56 43 44 | 72 69 76 65 72 44 61 74 | (FWAVCD|riverDat|
|00005650| 61 50 74 72 29 0d 09 09 | 70 49 73 6f 63 68 50 6f |aPtr)...|pIsochPo|
|00005660| 72 74 43 6f 6e 74 72 6f | 6c 50 61 72 61 6d 73 2d |rtContro|lParams-|
|00005670| 3e 66 77 43 6c 69 65 6e | 74 49 6e 74 65 72 66 61 |>fwClien|tInterfa|
|00005680| 63 65 50 61 72 61 6d 73 | 2e 66 77 43 6c 69 65 6e |ceParams|.fwClien|
|00005690| 74 53 70 65 63 69 66 69 | 63 44 61 74 61 3b 0d 0d |tSpecifi|cData;..|
|000056a0| 09 2f 2f 20 47 65 74 20 | 49 44 20 66 6f 72 20 74 |.// Get |ID for t|
|000056b0| 68 69 73 20 63 68 61 6e | 6e 65 6c 2e 0d 09 69 73 |his chan|nel...is|
|000056c0| 6f 63 68 43 68 61 6e 6e | 65 6c 49 44 20 3d 20 70 |ochChann|elID = p|
|000056d0| 49 73 6f 63 68 50 6f 72 | 74 43 6f 6e 74 72 6f 6c |IsochPor|tControl|
|000056e0| 50 61 72 61 6d 73 2d 3e | 66 77 43 6c 69 65 6e 74 |Params->|fwClient|
|000056f0| 49 73 6f 63 68 50 6f 72 | 74 50 61 72 61 6d 73 2e |IsochPor|tParams.|
|00005700| 69 73 6f 63 68 43 68 61 | 6e 6e 65 6c 49 44 3b 0d |isochCha|nnelID;.|
|00005710| 0d 09 2f 2f 20 49 73 20 | 74 68 69 73 20 72 65 71 |..// Is |this req|
|00005720| 75 65 73 74 20 66 6f 72 | 20 74 68 65 20 74 61 6c |uest for| the tal|
|00005730| 6b 69 6e 67 20 70 6f 72 | 74 3f 0d 09 70 6f 72 74 |king por|t?..port|
|00005740| 49 73 54 61 6c 6b 65 72 | 20 3d 20 70 49 73 6f 63 |IsTalker| = pIsoc|
|00005750| 68 50 6f 72 74 43 6f 6e | 74 72 6f 6c 50 61 72 61 |hPortCon|trolPara|
|00005760| 6d 73 2d 3e 66 77 43 6c | 69 65 6e 74 49 73 6f 63 |ms->fwCl|ientIsoc|
|00005770| 68 50 6f 72 74 50 61 72 | 61 6d 73 2e 70 6f 72 74 |hPortPar|ams.port|
|00005780| 49 73 54 61 6c 6b 65 72 | 3b 0d 0d 09 69 66 20 28 |IsTalker|;...if (|
|00005790| 69 73 6f 63 68 43 68 61 | 6e 6e 65 6c 49 44 20 3d |isochCha|nnelID =|
|000057a0| 3d 20 70 46 57 41 56 43 | 44 72 69 76 65 72 44 61 |= pFWAVC|DriverDa|
|000057b0| 74 61 2d 3e 72 65 63 6f | 72 64 49 73 6f 63 68 43 |ta->reco|rdIsochC|
|000057c0| 68 61 6e 6e 65 6c 49 44 | 29 0d 09 7b 0d 09 09 69 |hannelID|)..{...i|
|000057d0| 66 20 28 70 6f 72 74 49 | 73 54 61 6c 6b 65 72 29 |f (portI|sTalker)|
|000057e0| 0d 09 09 7b 0d 09 09 09 | 2f 2f 20 53 65 74 20 75 |...{....|// Set u|
|000057f0| 70 20 46 43 50 20 63 6f | 6d 6d 61 6e 64 20 74 6f |p FCP co|mmand to|
|00005800| 20 74 65 6c 6c 20 63 61 | 6d 65 72 61 20 74 6f 20 | tell ca|mera to |
|00005810| 73 74 6f 70 20 74 68 65 | 20 74 72 61 6e 73 70 6f |stop the| transpo|
|00005820| 72 74 2e 0d 09 09 09 66 | 63 70 43 6f 6d 6d 61 6e |rt.....f|cpComman|
|00005830| 64 4f 62 6a 65 63 74 49 | 44 20 3d 20 70 46 57 41 |dObjectI|D = pFWA|
|00005840| 56 43 44 72 69 76 65 72 | 44 61 74 61 2d 3e 61 73 |VCDriver|Data->as|
|00005850| 79 6e 63 46 43 50 43 6f | 6d 6d 61 6e 64 4f 62 6a |yncFCPCo|mmandObj|
|00005860| 65 63 74 49 44 3b 0d 09 | 09 09 70 46 43 50 53 74 |ectID;..|..pFCPSt|
|00005870| 6f 70 46 72 61 6d 65 20 | 3d 20 70 46 57 41 56 43 |opFrame |= pFWAVC|
|00005880| 44 72 69 76 65 72 44 61 | 74 61 2d 3e 66 63 70 43 |DriverDa|ta->fcpC|
|00005890| 6f 6d 6d 61 6e 64 46 72 | 61 6d 65 3b 0d 09 09 09 |ommandFr|ame;....|
|000058a0| 70 46 43 50 53 74 6f 70 | 46 72 61 6d 65 5b 30 5d |pFCPStop|Frame[0]|
|000058b0| 20 3d 20 30 78 30 30 32 | 30 43 34 36 30 3b 0d 0d | = 0x002|0C460;..|
|000058c0| 09 09 09 66 77 43 6c 69 | 65 6e 74 43 6f 6d 6d 61 |...fwCli|entComma|
|000058d0| 6e 64 49 44 20 3d 0d 09 | 09 09 09 70 49 73 6f 63 |ndID =..|...pIsoc|
|000058e0| 68 50 6f 72 74 43 6f 6e | 74 72 6f 6c 50 61 72 61 |hPortCon|trolPara|
|000058f0| 6d 73 2d 3e 66 77 43 6c | 69 65 6e 74 49 6e 74 65 |ms->fwCl|ientInte|
|00005900| 72 66 61 63 65 50 61 72 | 61 6d 73 2e 66 77 43 6c |rfacePar|ams.fwCl|
|00005910| 69 65 6e 74 43 6f 6d 6d | 61 6e 64 49 44 3b 0d 09 |ientComm|andID;..|
|00005920| 09 09 46 57 53 65 74 46 | 57 43 6f 6d 6d 61 6e 64 |..FWSetF|WCommand|
|00005930| 50 61 72 61 6d 73 20 28 | 66 63 70 43 6f 6d 6d 61 |Params (|fcpComma|
|00005940| 6e 64 4f 62 6a 65 63 74 | 49 44 2c 0d 09 09 09 09 |ndObject|ID,.....|
|00005950| 09 09 09 09 20 20 28 46 | 57 52 65 66 65 72 65 6e |.... (F|WReferen|
|00005960| 63 65 49 44 29 20 70 46 | 57 41 56 43 44 72 69 76 |ceID) pF|WAVCDriv|
|00005970| 65 72 44 61 74 61 2d 3e | 66 77 44 72 69 76 65 72 |erData->|fwDriver|
|00005980| 49 44 2c 0d 09 09 09 09 | 09 09 09 09 20 20 30 2c |ID,.....|.... 0,|
|00005990| 0d 09 09 09 09 09 09 09 | 09 20 20 46 57 41 56 43 |........|. FWAVC|
|000059a0| 43 6c 69 65 6e 74 43 6f | 6d 6d 61 6e 64 43 6f 6d |ClientCo|mmandCom|
|000059b0| 70 6c 65 74 69 6f 6e 50 | 72 6f 63 2c 0d 09 09 09 |pletionP|roc,....|
|000059c0| 09 09 09 09 09 20 20 28 | 55 49 6e 74 33 32 29 20 |..... (|UInt32) |
|000059d0| 66 77 43 6c 69 65 6e 74 | 43 6f 6d 6d 61 6e 64 49 |fwClient|CommandI|
|000059e0| 44 29 3b 0d 0d 09 09 09 | 46 57 53 65 74 46 43 50 |D);.....|FWSetFCP|
|000059f0| 43 6f 6d 6d 61 6e 64 50 | 61 72 61 6d 73 20 28 66 |CommandP|arams (f|
|00005a00| 63 70 43 6f 6d 6d 61 6e | 64 4f 62 6a 65 63 74 49 |cpComman|dObjectI|
|00005a10| 44 2c 0d 09 09 09 09 09 | 09 09 09 20 20 20 28 50 |D,......|... (P|
|00005a20| 74 72 29 20 70 46 43 50 | 53 74 6f 70 46 72 61 6d |tr) pFCP|StopFram|
|00005a30| 65 2c 0d 09 09 09 09 09 | 09 09 09 20 20 20 34 2c |e,......|... 4,|
|00005a40| 0d 09 09 09 09 09 09 09 | 09 20 20 20 28 50 74 72 |........|. (Ptr|
|00005a50| 29 20 70 46 43 50 53 74 | 6f 70 46 72 61 6d 65 2c |) pFCPSt|opFrame,|
|00005a60| 0d 09 09 09 09 09 09 09 | 09 20 20 20 34 30 2c 0d |........|. 40,.|
|00005a70| 09 09 09 09 09 09 09 09 | 20 20 20 31 30 30 20 2a |........| 100 *|
|00005a80| 20 64 75 72 61 74 69 6f | 6e 4d 69 6c 6c 69 73 65 | duratio|nMillise|
|00005a90| 63 6f 6e 64 2c 0d 09 09 | 09 09 09 09 09 09 20 20 |cond,...|...... |
|00005aa0| 20 38 2c 0d 09 09 09 09 | 09 09 09 09 20 20 20 30 | 8,.....|.... 0|
|00005ab0| 2c 0d 09 09 09 09 09 09 | 09 09 20 20 20 6e 69 6c |,.......|.. nil|
|00005ac0| 29 3b 0d 0d 09 09 09 2f | 2f 20 53 65 6e 64 20 74 |);...../|/ Send t|
|00005ad0| 68 65 20 46 43 50 20 63 | 6f 6d 6d 61 6e 64 2e 0d |he FCP c|ommand..|
|00005ae0| 09 09 09 73 74 61 74 75 | 73 20 3d 20 46 57 53 65 |...statu|s = FWSe|
|00005af0| 6e 64 46 43 50 43 6f 6d | 6d 61 6e 64 20 28 66 63 |ndFCPCom|mand (fc|
|00005b00| 70 43 6f 6d 6d 61 6e 64 | 4f 62 6a 65 63 74 49 44 |pCommand|ObjectID|
|00005b10| 29 3b 0d 09 09 09 63 6f | 6d 70 6c 65 74 69 6f 6e |);....co|mpletion|
|00005b20| 49 73 50 65 6e 64 69 6e | 67 20 3d 20 74 72 75 65 |IsPendin|g = true|
|00005b30| 3b 20 2f 2f 7a 7a 7a 20 | 77 68 61 74 20 69 66 20 |; //zzz |what if |
|00005b40| 61 62 6f 76 65 20 63 61 | 6c 6c 20 72 65 74 75 72 |above ca|ll retur|
|00005b50| 6e 73 20 61 6e 20 65 72 | 72 6f 72 3f 0d 09 09 7d |ns an er|ror?...}|
|00005b60| 0d 09 09 65 6c 73 65 0d | 09 09 7b 0d 09 09 09 2f |...else.|..{..../|
|00005b70| 2f 20 53 65 74 20 75 70 | 20 63 6f 6d 6d 61 6e 64 |/ Set up| command|
|00005b80| 20 6f 62 6a 65 63 74 20 | 74 6f 20 73 74 6f 70 20 | object |to stop |
|00005b90| 70 6f 72 74 2e 0d 09 09 | 09 69 73 6f 63 68 50 6f |port....|.isochPo|
|00005ba0| 72 74 43 6f 6d 6d 61 6e | 64 4f 62 6a 65 63 74 49 |rtComman|dObjectI|
|00005bb0| 44 20 3d 20 70 46 57 41 | 56 43 44 72 69 76 65 72 |D = pFWA|VCDriver|
|00005bc0| 44 61 74 61 2d 3e 73 74 | 6f 70 49 73 6f 63 68 50 |Data->st|opIsochP|
|00005bd0| 6f 72 74 43 6f 6d 6d 61 | 6e 64 4f 62 6a 65 63 74 |ortComma|ndObject|
|00005be0| 49 44 3b 0d 09 09 09 66 | 77 43 6c 69 65 6e 74 43 |ID;....f|wClientC|
|00005bf0| 6f 6d 6d 61 6e 64 49 44 | 20 3d 0d 09 09 09 09 70 |ommandID| =.....p|
|00005c00| 49 73 6f 63 68 50 6f 72 | 74 43 6f 6e 74 72 6f 6c |IsochPor|tControl|
|00005c10| 50 61 72 61 6d 73 2d 3e | 66 77 43 6c 69 65 6e 74 |Params->|fwClient|
|00005c20| 49 6e 74 65 72 66 61 63 | 65 50 61 72 61 6d 73 2e |Interfac|eParams.|
|00005c30| 66 77 43 6c 69 65 6e 74 | 43 6f 6d 6d 61 6e 64 49 |fwClient|CommandI|
|00005c40| 44 3b 0d 09 09 09 46 57 | 53 65 74 46 57 43 6f 6d |D;....FW|SetFWCom|
|00005c50| 6d 61 6e 64 50 61 72 61 | 6d 73 20 28 69 73 6f 63 |mandPara|ms (isoc|
|00005c60| 68 50 6f 72 74 43 6f 6d | 6d 61 6e 64 4f 62 6a 65 |hPortCom|mandObje|
|00005c70| 63 74 49 44 2c 0d 09 09 | 09 09 09 09 09 09 20 20 |ctID,...|...... |
|00005c80| 28 46 57 52 65 66 65 72 | 65 6e 63 65 49 44 29 20 |(FWRefer|enceID) |
|00005c90| 70 46 57 41 56 43 44 72 | 69 76 65 72 44 61 74 61 |pFWAVCDr|iverData|
|00005ca0| 2d 3e 66 77 44 72 69 76 | 65 72 49 44 2c 0d 09 09 |->fwDriv|erID,...|
|00005cb0| 09 09 09 09 09 09 20 20 | 30 2c 0d 09 09 09 09 09 |...... |0,......|
|00005cc0| 09 09 09 20 20 46 57 41 | 56 43 43 6c 69 65 6e 74 |... FWA|VCClient|
|00005cd0| 43 6f 6d 6d 61 6e 64 43 | 6f 6d 70 6c 65 74 69 6f |CommandC|ompletio|
|00005ce0| 6e 50 72 6f 63 2c 0d 09 | 09 09 09 09 09 09 09 20 |nProc,..|....... |
|00005cf0| 20 28 55 49 6e 74 33 32 | 29 20 66 77 43 6c 69 65 | (UInt32|) fwClie|
|00005d00| 6e 74 43 6f 6d 6d 61 6e | 64 49 44 29 3b 0d 09 09 |ntComman|dID);...|
|00005d10| 09 46 57 53 65 74 49 73 | 6f 63 68 50 6f 72 74 43 |.FWSetIs|ochPortC|
|00005d20| 6f 6d 6d 61 6e 64 49 73 | 6f 63 68 50 6f 72 74 49 |ommandIs|ochPortI|
|00005d30| 44 20 28 69 73 6f 63 68 | 50 6f 72 74 43 6f 6d 6d |D (isoch|PortComm|
|00005d40| 61 6e 64 4f 62 6a 65 63 | 74 49 44 2c 0d 09 09 09 |andObjec|tID,....|
|00005d50| 09 09 09 09 09 09 09 09 | 20 20 70 46 57 41 56 43 |........| pFWAVC|
|00005d60| 44 72 69 76 65 72 44 61 | 74 61 2d 3e 69 73 6f 63 |DriverDa|ta->isoc|
|00005d70| 68 50 6f 72 74 49 44 29 | 3b 0d 0d 09 09 09 2f 2f |hPortID)|;.....//|
|00005d80| 20 53 65 6e 64 20 63 6f | 6d 6d 61 6e 64 20 74 6f | Send co|mmand to|
|00005d90| 20 73 74 6f 70 20 70 6f | 72 74 2e 0d 09 09 09 73 | stop po|rt.....s|
|00005da0| 74 61 74 75 73 20 3d 20 | 46 57 53 74 6f 70 4c 6f |tatus = |FWStopLo|
|00005db0| 63 61 6c 49 73 6f 63 68 | 72 6f 6e 6f 75 73 50 6f |calIsoch|ronousPo|
|00005dc0| 72 74 20 28 69 73 6f 63 | 68 50 6f 72 74 43 6f 6d |rt (isoc|hPortCom|
|00005dd0| 6d 61 6e 64 4f 62 6a 65 | 63 74 49 44 29 3b 0d 09 |mandObje|ctID);..|
|00005de0| 09 09 63 6f 6d 70 6c 65 | 74 69 6f 6e 49 73 50 65 |..comple|tionIsPe|
|00005df0| 6e 64 69 6e 67 20 3d 20 | 74 72 75 65 3b 20 2f 2f |nding = |true; //|
|00005e00| 7a 7a 7a 20 77 68 61 74 | 20 69 66 20 61 62 6f 76 |zzz what| if abov|
|00005e10| 65 20 63 61 6c 6c 20 72 | 65 74 75 72 6e 73 20 61 |e call r|eturns a|
|00005e20| 6e 20 65 72 72 6f 72 3f | 0d 09 09 7d 0d 09 7d 0d |n error?|...}..}.|
|00005e30| 09 65 6c 73 65 0d 09 7b | 0d 09 09 69 66 20 28 70 |.else..{|...if (p|
|00005e40| 6f 72 74 49 73 54 61 6c | 6b 65 72 29 0d 09 09 7b |ortIsTal|ker)...{|
|00005e50| 0d 09 09 09 2f 2f 20 53 | 65 74 20 75 70 20 63 6f |....// S|et up co|
|00005e60| 6d 6d 61 6e 64 20 6f 62 | 6a 65 63 74 20 74 6f 20 |mmand ob|ject to |
|00005e70| 73 74 6f 70 20 70 6f 72 | 74 2e 0d 09 09 09 69 73 |stop por|t.....is|
|00005e80| 6f 63 68 50 6f 72 74 43 | 6f 6d 6d 61 6e 64 4f 62 |ochPortC|ommandOb|
|00005e90| 6a 65 63 74 49 44 20 3d | 20 70 46 57 41 56 43 44 |jectID =| pFWAVCD|
|00005ea0| 72 69 76 65 72 44 61 74 | 61 2d 3e 73 74 6f 70 49 |riverDat|a->stopI|
|00005eb0| 73 6f 63 68 50 6f 72 74 | 43 6f 6d 6d 61 6e 64 4f |sochPort|CommandO|
|00005ec0| 62 6a 65 63 74 49 44 3b | 0d 09 09 09 66 77 43 6c |bjectID;|....fwCl|
|00005ed0| 69 65 6e 74 43 6f 6d 6d | 61 6e 64 49 44 20 3d 0d |ientComm|andID =.|
|00005ee0| 09 09 09 09 70 49 73 6f | 63 68 50 6f 72 74 43 6f |....pIso|chPortCo|
|00005ef0| 6e 74 72 6f 6c 50 61 72 | 61 6d 73 2d 3e 66 77 43 |ntrolPar|ams->fwC|
|00005f00| 6c 69 65 6e 74 49 6e 74 | 65 72 66 61 63 65 50 61 |lientInt|erfacePa|
|00005f10| 72 61 6d 73 2e 66 77 43 | 6c 69 65 6e 74 43 6f 6d |rams.fwC|lientCom|
|00005f20| 6d 61 6e 64 49 44 3b 0d | 09 09 09 46 57 53 65 74 |mandID;.|...FWSet|
|00005f30| 46 57 43 6f 6d 6d 61 6e | 64 50 61 72 61 6d 73 20 |FWComman|dParams |
|00005f40| 28 69 73 6f 63 68 50 6f | 72 74 43 6f 6d 6d 61 6e |(isochPo|rtComman|
|00005f50| 64 4f 62 6a 65 63 74 49 | 44 2c 0d 09 09 09 09 09 |dObjectI|D,......|
|00005f60| 09 09 09 20 20 28 46 57 | 52 65 66 65 72 65 6e 63 |... (FW|Referenc|
|00005f70| 65 49 44 29 20 70 46 57 | 41 56 43 44 72 69 76 65 |eID) pFW|AVCDrive|
|00005f80| 72 44 61 74 61 2d 3e 66 | 77 44 72 69 76 65 72 49 |rData->f|wDriverI|
|00005f90| 44 2c 0d 09 09 09 09 09 | 09 09 09 20 20 30 2c 0d |D,......|... 0,.|
|00005fa0| 09 09 09 09 09 09 09 09 | 20 20 46 57 41 56 43 43 |........| FWAVCC|
|00005fb0| 6c 69 65 6e 74 43 6f 6d | 6d 61 6e 64 43 6f 6d 70 |lientCom|mandComp|
|00005fc0| 6c 65 74 69 6f 6e 50 72 | 6f 63 2c 0d 09 09 09 09 |letionPr|oc,.....|
|00005fd0| 09 09 09 09 20 20 28 55 | 49 6e 74 33 32 29 20 66 |.... (U|Int32) f|
|00005fe0| 77 43 6c 69 65 6e 74 43 | 6f 6d 6d 61 6e 64 49 44 |wClientC|ommandID|
|00005ff0| 29 3b 0d 09 09 09 46 57 | 53 65 74 49 73 6f 63 68 |);....FW|SetIsoch|
|00006000| 50 6f 72 74 43 6f 6d 6d | 61 6e 64 49 73 6f 63 68 |PortComm|andIsoch|
|00006010| 50 6f 72 74 49 44 20 28 | 69 73 6f 63 68 50 6f 72 |PortID (|isochPor|
|00006020| 74 43 6f 6d 6d 61 6e 64 | 4f 62 6a 65 63 74 49 44 |tCommand|ObjectID|
|00006030| 2c 0d 09 09 09 09 09 09 | 09 09 09 09 09 20 20 70 |,.......|..... p|
|00006040| 46 57 41 56 43 44 72 69 | 76 65 72 44 61 74 61 2d |FWAVCDri|verData-|
|00006050| 3e 69 73 6f 63 68 50 6f | 72 74 49 44 29 3b 0d 0d |>isochPo|rtID);..|
|00006060| 09 09 09 2f 2f 20 53 65 | 6e 64 20 63 6f 6d 6d 61 |...// Se|nd comma|
|00006070| 6e 64 20 74 6f 20 73 74 | 6f 70 20 70 6f 72 74 2e |nd to st|op port.|
|00006080| 0d 09 09 09 73 74 61 74 | 75 73 20 3d 20 46 57 53 |....stat|us = FWS|
|00006090| 74 6f 70 4c 6f 63 61 6c | 49 73 6f 63 68 72 6f 6e |topLocal|Isochron|
|000060a0| 6f 75 73 50 6f 72 74 20 | 28 69 73 6f 63 68 50 6f |ousPort |(isochPo|
|000060b0| 72 74 43 6f 6d 6d 61 6e | 64 4f 62 6a 65 63 74 49 |rtComman|dObjectI|
|000060c0| 44 29 3b 0d 09 09 09 63 | 6f 6d 70 6c 65 74 69 6f |D);....c|ompletio|
|000060d0| 6e 49 73 50 65 6e 64 69 | 6e 67 20 3d 20 74 72 75 |nIsPendi|ng = tru|
|000060e0| 65 3b 20 2f 2f 7a 7a 7a | 20 77 68 61 74 20 69 66 |e; //zzz| what if|
|000060f0| 20 61 62 6f 76 65 20 63 | 61 6c 6c 20 72 65 74 75 | above c|all retu|
|00006100| 72 6e 73 20 61 6e 20 65 | 72 72 6f 72 3f 0d 09 09 |rns an e|rror?...|
|00006110| 7d 0d 09 09 65 6c 73 65 | 0d 09 09 7b 0d 09 09 09 |}...else|...{....|
|00006120| 2f 2f 7a 7a 7a 20 64 6f | 6e 27 74 20 64 6f 20 61 |//zzz do|n't do a|
|00006130| 6e 79 74 68 69 6e 67 20 | 77 69 74 68 20 63 61 6d |nything |with cam|
|00006140| 65 72 61 20 79 65 74 2e | 0d 09 09 7d 0d 09 7d 0d |era yet.|...}..}.|
|00006150| 0d 09 2f 2f 20 43 6f 6d | 70 6c 65 74 65 20 63 6f |..// Com|plete co|
|00006160| 6d 6d 61 6e 64 20 69 66 | 20 63 6f 6d 70 6c 65 74 |mmand if| complet|
|00006170| 69 6f 6e 20 69 73 20 6e | 6f 74 20 70 65 6e 64 69 |ion is n|ot pendi|
|00006180| 6e 67 2e 0d 09 69 66 20 | 28 21 63 6f 6d 70 6c 65 |ng...if |(!comple|
|00006190| 74 69 6f 6e 49 73 50 65 | 6e 64 69 6e 67 29 0d 09 |tionIsPe|nding)..|
|000061a0| 7b 0d 09 09 73 74 61 74 | 75 73 20 3d 20 46 57 43 |{...stat|us = FWC|
|000061b0| 6c 69 65 6e 74 43 6f 6d | 6d 61 6e 64 49 73 43 6f |lientCom|mandIsCo|
|000061c0| 6d 70 6c 65 74 65 0d 09 | 09 09 09 09 28 70 49 73 |mplete..|....(pIs|
|000061d0| 6f 63 68 50 6f 72 74 43 | 6f 6e 74 72 6f 6c 50 61 |ochPortC|ontrolPa|
|000061e0| 72 61 6d 73 2d 3e 66 77 | 43 6c 69 65 6e 74 49 6e |rams->fw|ClientIn|
|000061f0| 74 65 72 66 61 63 65 50 | 61 72 61 6d 73 2e 66 77 |terfaceP|arams.fw|
|00006200| 43 6c 69 65 6e 74 43 6f | 6d 6d 61 6e 64 49 44 2c |ClientCo|mmandID,|
|00006210| 0d 09 09 09 09 09 20 73 | 74 61 74 75 73 29 3b 0d |...... s|tatus);.|
|00006220| 09 7d 0d 0d 09 2f 2f 20 | 52 65 74 75 72 6e 20 63 |.}...// |Return c|
|00006230| 6f 6d 6d 61 6e 64 20 61 | 63 63 65 70 74 61 6e 63 |ommand a|cceptanc|
|00006240| 65 2e 0d 09 2f 2f 7a 7a | 7a 20 69 73 20 74 68 69 |e...//zz|z is thi|
|00006250| 73 20 74 68 65 20 72 69 | 67 68 74 20 77 61 79 3f |s the ri|ght way?|
|00006260| 20 20 49 66 20 77 65 27 | 76 65 20 63 6f 6d 70 6c | If we'|ve compl|
|00006270| 65 74 65 64 20 74 68 65 | 20 63 6f 6d 6d 61 6e 64 |eted the| command|
|00006280| 2c 20 77 65 20 63 61 6e | 20 61 63 63 65 70 74 20 |, we can| accept |
|00006290| 6d 6f 72 65 2e 0d 09 2a | 70 43 6f 6d 6d 61 6e 64 |more...*|pCommand|
|000062a0| 41 63 63 65 70 74 61 6e | 63 65 20 3d 20 6b 46 57 |Acceptan|ce = kFW|
|000062b0| 43 6c 69 65 6e 74 43 6f | 6d 6d 61 6e 64 41 63 63 |ClientCo|mmandAcc|
|000062c0| 65 70 74 4e 6f 4d 6f 72 | 65 3b 0d 0d 09 72 65 74 |eptNoMor|e;...ret|
|000062d0| 75 72 6e 20 28 73 74 61 | 74 75 73 29 3b 0d 7d 0d |urn (sta|tus);.}.|
|000062e0| 0d 0d 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |..//////|////////|
|000062f0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00006300| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00006310| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00006320| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00006330| 2f 2f 0d 2f 2f 0d 2f 2f | 20 41 56 54 44 72 69 76 |//.//.//| AVTDriv|
|00006340| 65 72 49 6e 74 65 72 66 | 61 63 65 0d 2f 2f 0d 2f |erInterf|ace.//./|
|00006350| 2f 20 20 20 4d 61 69 6e | 20 64 72 69 76 65 72 20 |/ Main| driver |
|00006360| 69 6e 74 65 72 66 61 63 | 65 2e 0d 2f 2f 0d 0d 73 |interfac|e..//..s|
|00006370| 74 61 74 69 63 20 4f 53 | 53 74 61 74 75 73 09 41 |tatic OS|Status.A|
|00006380| 56 54 44 72 69 76 65 72 | 49 6e 74 65 72 66 61 63 |VTDriver|Interfac|
|00006390| 65 28 0d 09 41 56 54 49 | 6e 74 65 72 66 61 63 65 |e(..AVTI|nterface|
|000063a0| 50 61 72 61 6d 73 50 74 | 72 09 09 70 41 56 54 49 |ParamsPt|r..pAVTI|
|000063b0| 6e 74 65 72 66 61 63 65 | 50 61 72 61 6d 73 29 0d |nterface|Params).|
|000063c0| 7b 0d 09 55 49 6e 74 33 | 32 09 09 09 09 09 09 69 |{..UInt3|2......i|
|000063d0| 6e 74 65 72 66 61 63 65 | 53 65 6c 65 63 74 6f 72 |nterface|Selector|
|000063e0| 3b 0d 09 4f 53 53 74 61 | 74 75 73 09 09 09 09 09 |;..OSSta|tus.....|
|000063f0| 73 74 61 74 75 73 20 3d | 20 6e 6f 45 72 72 3b 0d |status =| noErr;.|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.